Skip to content

LanguageAppSpace/backend-learning-platform

 
 

Repository files navigation

Learning Platform

Table of Contents

Overview

The backend for learning platform, developed using Django Rest Framework (DRF), serves as the foundation for a robust educational tool. This repository encapsulates the core functionalities essential for managing and delivering educational content efficiently. Leveraging Django's powerful features and DRF's API capabilities, the platform facilitates seamless interaction between users and educational resources.

Features

Basic User Functionality

The basic user functionality provides essential features for managing user accounts within the application. Users can easily register new accounts using a secure registration form, which collects necessary information such as username, email address, and password. The registration process includes validation to ensure data integrity and security. Once registered, users can log in securely using their credentials, granting them access to personalized content and features. User authentication is handled using industry-standard security practices, protecting user data from unauthorized access.

Flashcards Functionality
The flashcards functionality enriches the user experience by offering a comprehensive toolset for learning and practicing with digital flashcards. Users can create and manage lessons, organizing them based on topics or categories of interest. Within each lesson, users can add custom flashcards, each containing two sides: one for the prompt and the other for the answer. The application tracks user progress automatically, providing insights into which flashcards have been learned or require further review. This progress tracking helps users optimize their study sessions and achieve learning objectives efficiently.

Installation

Running project locally

    1. Clone the repository
    git clone https://github.com/Ewa-Anna/backend-learning-platform
    2. Change the directory
    cd backend
    3. Install dependencies
    pip install -r requirements.txt
    4. Apply database migrations
    python manage.py makemigrations
    python manage.py migrate
    5. Run the project
    python manage.py runserver
Project will run on http://127.0.0.1:8000/

docker-compose

Building Docker Image
docker-compose build --no-cache
Running Docker Container
docker-compose up -d

API

All endpoints with methods are available under http://127.0.0.1:8000/swagger/

Tests

Move to backend folder
python manage.py backend
Run all tests
python manage.py test

Technologies and frameworks

  • Backend

    Python Django

    • Django Rest Framework

    • drf-yasg

  • Databases

    • For Dev

      SQLite

    • For Prod

      PostgreSQL

  • Other

    VisualStudio Docker Postman

Contributions

Contributions are welcome! Feel free to fork the repository, make changes, and submit pull requests for review.

License

Distributed under the MIT License. See LICENSE for more information.

About

This repository contains a backend for learning platform built with Django Rest Framework.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 40.4%
  • CSS 39.6%
  • Python 18.2%
  • HTML 1.4%
  • Other 0.4%