Logo Lanfrica

Ivy-Wanjiku/parish-songs

Domain:

natural language processing

Record type:

software
Creator:
Ivy
Host:
A digital hymnal for a Catholic parish choir in Kenya. Browse and read Mass song lyrics by liturgical category (Entrance, Offertory, Communion, etc.) and Misa setting. Supports Swahili, Kikuyu, English & Latin. Admins can upload songs and attach sheet music PDFs. # Parish Song Library A full-stack digital hymnal for a Catholic parish choir in Kenya. Choir members browse and read lyrics on their phones during Mass rehearsals and services. Choir directors log in to manage the song catalogue. --- ## Tech Stack | Layer | Technology | |-------|-----------| | Frontend | React 18 + TypeScript + Vite | | Backend | Python + Django 4.2 + Django REST Framework | | Database | PostgreSQL (SQLite for local dev) | | Auth | JWT via djangorestframework-simplejwt | | Frontend hosting | Vercel | | Backend hosting | Render.com | --- ## Project Structure ``` parish-songs/ ├── backend/ ← Django API └── frontend/ ← React TypeScript app ``` --- ## Backend Setup ### 1. Create and activate a virtual environment ```bash cd backend python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate ``` ### 2. Install dependencies ```bash pip install -r requirements.txt ``` ### 3. Configure environment ```bash cp .env.example .env # Edit .env — set SECRET_KEY, DATABASE_URL, etc. ``` For local development with SQLite you can leave `DATABASE_URL` unset — it defaults to `db.sqlite3` in the project root. ### 4. Run migrations ```bash python manage.py migrate ``` ### 5. Seed the database (songs + default superadmin) ```bash python manage.py seed_songs ``` Default superadmin credentials: `director` / `ChangeMe123!` **Change this password immediately after first login.** ### 6. Start the development server ```bash python manage.py runserver ``` API is now available at `localhost`. --- ## Frontend Setup ### 1. Install dependencies ```bash cd frontend npm install ``` ### 2. Configure environment ```bash cp .env.example .env.local # Edit .env.local — set VITE_API_URL=localhost ``` ### 3. Start the development server ```bash npm run dev ``` App is now available at `localhost`. --- ## API Reference ### Auth | Method | Endpoint | Auth | Description | |--------|-- …