Skip to content

PyNerd is a robust EdTech platform designed for the Angolan and PALOP markets, focusing on providing high-quality technical education. This repository contains the MVP implementation of the backend API.

License

Notifications You must be signed in to change notification settings

Emicy963/PyNerd-Academy-Backend

Repository files navigation

PyNerd - EdTech Platform

PyNerd Logo

CI License: MIT Python Django

PyNerd is a robust EdTech platform designed for the Angolan and PALOP markets, focusing on providing high-quality technical education. This repository contains the MVP implementation of the backend API.

🚀 Features

  • User Management: Instructors, Students, and Admins with role-based access control.
  • Course Management: Create, publish, and manage structured courses with modules and lessons.
  • Learning Experience: Video lessons, documentation, and progress tracking.
  • Engagement: Quizzes and certification upon course completion.
  • Secure: JWT Authentication and secure password handling.

🛠️ Tech Stack

  • Backend: Python, Django, Django REST Framework
  • Database: PostgreSQL (Production), SQLite (Dev)
  • Documentation: OpenAPI (Swagger/Redoc)
  • Containerization: Docker & Docker Compose
  • Testing: Pytest

📦 Installation & Setup

Prerequisites

  • Docker and Docker Compose installed.

Quick Start (Docker)

  1. Clone the repository:

    https://github.com/Emicy963/PyNerd-Academy-Backend
    cd pynerd-mvp
  2. Create a .env file in PyNerd-Academy-Backend/ (see .env.example).

  3. Build and Run:

    docker-compose up --build
  4. Access the API:

Local Development (Without Docker)

  1. Navigate to Backend dir:
    cd PyNerd-Academy-Backend/
  2. Install dependencies:
    uv pip install -r requirements.txt
  3. Run Migrations:
    python manage.py migrate
  4. Run Server:
    python manage.py runserver

Project Structure

.
├── .github/                # GitHub Actions workflows
├── apps/                   # Django Apps
│   ├── accounts/           # User management & Auth
│   └── courses/            # Course content & progress
├── core/                   # Project settings
├── docs/                   # Documentation
├── docker-compose.yml      # Docker services (DB, Web)
├── Dockerfile              # Application container setup
├── manage.py               # Django entry point
├── pytest.ini              # Test configuration
└── requirements.txt        # Dependencies

📖 Documentation

🤝 Contributing

We welcome contributions! Please check CONTRIBUTING.md for details.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Autor

Equipe de Desenvolvimento

Equipe de Design

  • Heliand Fortuna - Design Lead

Contato

If you have any questions, suggestions, or want to contribute to the project, please contact us through GitHub or the contacts of the project leader listed above.

About

PyNerd is a robust EdTech platform designed for the Angolan and PALOP markets, focusing on providing high-quality technical education. This repository contains the MVP implementation of the backend API.

Topics

Resources

License

Contributing

Stars

Watchers

Forks