FastAPI backend for the Mantra Recitation Tracker application.
- Mantra Management: CRUD operations for mantras with Sikh-focused categories
- Recitation Logging: Track mantra recitations with counts and duration
- Analytics: Daily and monthly statistics via Snowflake/Iceberg
- Authentication: User management with JWT tokens
- Gurmukhi Support: Full Unicode support for Gurmukhi script
- Create virtual environment:
python3 -m venv mantra_app
source mantra_app/bin/activate # On Windows: mantra_app\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Set up environment variables:
cp .env.example .env
# Edit .env with your Snowflake credentials- Run the application:
uvicorn app.main:app --reloadOnce running, visit:
- API docs: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
Execute the SQL commands in snowflake_iceberg_setup.sql to set up your Snowflake/Iceberg tables.
- FastAPI: Modern Python web framework
- Pydantic: Data validation and serialization
- Snowflake: Data warehouse with Iceberg tables
- SQLAlchemy: Database ORM
- Alembic: Database migrations