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

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