You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.4 KiB
2.4 KiB
| description | alwaysApply |
|---|---|
| Repository Information Overview | 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
# 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:
docker-compose up -d
Testing
Framework: Django Test Test Location: Each app has a tests.py file Run Command:
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