尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
A full-stack Tamil Panchangam application providing birth-chart calculations, daily Panchangam (Tithi, Vara, Nakshatra, Yoga, Karana), Dasha timelines, AI-powered interpretations, and PDF report generation.
• Node.js 20+ and npm
• Python 3.11+
• PostgreSQL 16+ (for the Express/Drizzle layer)
• System libraries for PDF rendering (see below)
4. Set up PostgreSQL database (Express layer)
Or use the convenience script (runs both):查看完整 README ↗A full-stack Tamil Panchangam application providing birth-chart calculations, daily Panchangam (Tithi, Vara, Nakshatra, Yoga, Karana), Dasha timelines, AI-powered interpretations, and PDF report generation.
| Layer | Technology |
|---|---|
| Frontend | React 18 + TypeScript + Tailwind CSS + shadcn/ui |
| Build | Vite 7 |
| Express layer | Node.js 20 + Express + Drizzle ORM (PostgreSQL) |
| Astrology engine | Python 3.11 + FastAPI + DuckDB |
| Ephemeris | pyswisseph (Swiss Ephemeris) |
| PDF generation | ReportLab + svgwrite |
| AI interpretation | OpenAI API |
brew install cairo pkg-config freetype harfbuzz glib pango gdk-pixbuf ghostscript
sudo apt-get install -y libcairo2-dev pkg-config libfreetype6-dev \
libharfbuzz-dev libglib2.0-dev libpango1.0-dev libgdk-pixbuf2.0-dev ghostscript
git clone <repo-url>
cd tamil-panchangam
cp .env.example .env
# Edit .env and fill in OPENAI_API_KEY and DATABASE_URL
npm install
cd tamil_panchangam_engine
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .
cd ..
# Ensure DATABASE_URL is set in .env, then:
npm run db:push
# Terminal 1 — Python FastAPI backend (port 8000)
cd tamil_panchangam_engine
source .venv/bin/activate
python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
# Terminal 2 — Vite frontend dev server (port 5000, proxies /api → 8000)
npm run dev
Or use the convenience script (runs both):
bash scripts/start-dev.sh
npm run build
# Outputs to dist/public/ — FastAPI serves this automatically
See .env.example for the full list. Key variables:
| Variable | Required | Description |
|---|---|---|
OPENAI_API_KEY | For AI features | OpenAI API key |
DATABASE_URL | For Express layer | PostgreSQL connection string |
STATIC_DIR | No | Override path to built React app (default: dist/public) |
PORT | No | Express server port (default: 5001) |
tamil-panchangam/
├── client/ # React frontend (Vite)
│ └── src/
│ ├── components/ # UI components (shadcn/ui)
│ ├── pages/ # Route pages
│ └── lib/ # API client, query helpers
├── server/ # Express.js layer (Node)
│ ├── index.ts # Entry point
│ └── routes.ts # API routes
├── shared/ # Shared Zod/Drizzle schemas
├── tamil_panchangam_engine/ # Python FastAPI engine
│ ├── app/
│ │ ├── main.py # FastAPI entry point
│ │ ├── api/ # Route handlers
│ │ ├── engines/ # Core astrology calculation engines
│ │ ├── llm/ # OpenAI integration
│ │ ├── db/ # DuckDB connection + bootstrap
│ │ ├── pdf/ # PDF report generation
│ │ ├── repositories/ # Data access layer
│ │ ├── services/ # Business logic
│ │ └── schemas/ # Pydantic models
│ └── data/
│ └── panchangam.duckdb # Main database (NOT in git — see below)
├── scripts/
│ └── start-dev.sh # Dev startup convenience script
├── .env.example # Environment variable template
├── pyproject.toml # Python dependencies
├── package.json # Node dependencies
└── vite.config.ts # Vite build config
The app uses DuckDB (tamil_panchangam_engine/data/panchangam.duckdb) as its primary store. This file is excluded from git due to its size (300+ MB). Options for sharing it:
git lfs track "*.duckdb"The legacy SQLite file (panchangam.db) is deprecated and can be ignored.
The React frontend can be deployed to Vercel as a static site. The Python engine must be hosted separately (e.g., Railway, Render, Fly.io).
# Build the frontend
npm run build
# Deploy with Vercel CLI
vercel --prod
Set VITE_API_URL (or configure the Vite proxy target) to point at your deployed FastAPI backend.
| Term | Meaning |
|---|---|
| Tithi | Lunar day (30 per lunar month) |
| Vara | Day of the week (with planetary ruler) |
| Nakshatra | Lunar mansion (27 total) |
| Yoga | Combined Sun+Moon longitude value |
| Karana | Half of a Tithi |
| Rahu Kalam | Inauspicious time period of the day |
| Yamagandam | Another inauspicious daily time window |
| Dasha | Planetary period system (Vimshottari) |
| Gochara | Current planetary transits over natal chart |
| Ashtakavarga | Eight-source point system for transit strength |