--- description: Repository Information Overview alwaysApply: true --- # Imam Javad Backend Information ## Summary A Django-based backend application for the Imam Javad platform, providing API services for various features including user accounts, courses, library resources, hadis (religious texts), videos, podcasts, and more. The application is multilingual, supporting English, Persian, and Russian. ## Structure - **apps/**: Contains all application modules (account, course, hadis, library, etc.) - **config/**: Django project configuration and settings - **dynamic_preferences/**: Custom preferences management system - **static/**: Static files (CSS, images, media) - **templates/**: HTML templates for admin and frontend views - **utils/**: Utility functions and helper classes - **locale/**: Translation files for multilingual support ## Language & Runtime **Language**: Python **Version**: 3.9 (as specified in Dockerfile) **Framework**: Django 4.2+ **Build System**: pip **Package Manager**: pip ## Dependencies **Main Dependencies**: - Django 4.2+ - Django REST Framework 3.16.0 - Celery 5.2.1 - PostgreSQL (psycopg2-binary 2.9.9) - Redis 4.3.4 - django-unfold 0.54.0 (Admin UI) - django-filer 3.3.1 - django-dynamic-preferences 1.16.0 - django-rosetta 0.9.6 (Translations) **Development Dependencies**: - django-debug-toolbar 4.3.0 - django-reset-migrations 0.4.0 ## Build & Installation ```bash # Install dependencies pip install -r requirements.txt # Run migrations python manage.py migrate # Run development server python manage.py runserver 0.0.0.0:8000 ``` ## Docker **Dockerfile**: Dockerfile (development), Dockerfile.prod (production) **Image**: Python 3.9 **Configuration**: Docker Compose with PostgreSQL database **Run Command**: ```bash docker-compose up -d ``` ## Testing **Framework**: Django Test **Test Location**: Each app has a tests.py file **Run Command**: ```bash python manage.py test ``` ## Main Components - **Account**: User authentication and profile management - **Course**: Online course management system - **Hadis**: Religious text management and API - **Library**: Digital book library and collections - **Video**: Video content management - **Podcast**: Audio content management - **Chat**: Messaging functionality - **Quiz**: Quiz and assessment system - **Transaction**: Payment processing - **Certificate**: Course completion certificates - **API**: Core API endpoints and documentation