Skip to content

Repository files navigation

Mantra Recitation API

FastAPI backend for the Mantra Recitation Tracker application.

Features

  • 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

Setup

  1. Create virtual environment:
python3 -m venv mantra_app
source mantra_app/bin/activate  # On Windows: mantra_app\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Set up environment variables:
cp .env.example .env
# Edit .env with your Snowflake credentials
  1. Run the application:
uvicorn app.main:app --reload

API Documentation

Once running, visit:

Database Setup

Execute the SQL commands in snowflake_iceberg_setup.sql to set up your Snowflake/Iceberg tables.

Architecture

  • FastAPI: Modern Python web framework
  • Pydantic: Data validation and serialization
  • Snowflake: Data warehouse with Iceberg tables
  • SQLAlchemy: Database ORM
  • Alembic: Database migrations

About

backend data flows

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages