Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CampLearn Backend

CampLearn is an offline-first digital learning platform designed to provide high-quality education to children and youth in IDP (Internally Displaced Persons) camps and underserved communities. This repository contains the Django-based backend API.

Features

  • RBAC (Role-Based Access Control): Granular permissions for Students, Facilitators, Camp Admins, and System Admins.
  • Learning Content Management: Comprehensive management of Courses and Lessons (Video, Audio, Text).
  • Assessment Engine: Integrated Quiz system with automated grading.
  • Progress Tracking: Real-time tracking of learner progress through courses and lessons.
  • Gamification: Points, Badges, and Leaderboard system to drive engagement.
  • Offline Sync: Architecture designed to synchronize offline activity logs from local learning hubs to the cloud.
  • Impact Analytics: Advanced reporting on camp performance and learner engagement metrics.
  • Auto-Generated Docs: Interactive API documentation via Swagger/OpenAPI.

Tech Stack

Prerequisites

  • Python 3.9+
  • pip
  • virtualenv

Installation & Setup

  1. Clone the repository:

    git clone <repository-url>
    cd CAMPLEARN
  2. Create and activate a virtual environment:

    python3 -m venv venv
    source venv/bin/activate
  3. Install dependencies:

    pip install -r requirements.txt
  4. Configure environment variables:

    cp .env.example .env
    # Edit .env with your local settings (SECRET_KEY, DB settings, etc.)
  5. Run migrations:

    python manage.py makemigrations
    python manage.py migrate
  6. Create a superuser:

    python manage.py createsuperuser

Running the Application

Start the development server:

python manage.py runserver

The API will be available at http://127.0.0.1:8000/.

📖 Documentation

Testing

The project includes an end-to-end integration test suite. Run tests using:

python manage.py test apps.core_integration_test -v 2

📂 Project Structure

CAMPLEARN/
├── apps/
│   ├── accounts/     # Authentication & User Profiles
│   ├── camps/        # Camp & Location Management
│   ├── courses/      # Learning Content & Lessons
│   ├── quizzes/      # Assessments & Grading
│   ├── progress/     # Learner Progress Tracking
│   ├── gamification/ # Points & Badges Engine
│   ├── devices/      # Sync & Device Management
│   └── analytics/    # Impact & Usage Reporting
├── config/           # Project Settings & Root URLs
└── utils/            # Shared helper functions

License

This project is licensed under the MIT License.

About

CampLearn is an offline-first digital learning platform designed to provide high-quality

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages