This project is an online Learning Management System (LMS) designed to facilitate the creation and sharing of educational materials and courses. It allows users to register, log in using their email, and manage their profiles. The system supports the creation of courses, which can contain multiple lessons. Each course includes details such as a title, preview image, and description, while each lesson has its own title, description, preview image, and a link to video content. The backend is built using Django and Django Rest Framework (DRF) to provide a robust API that returns JSON structures to a Single Page Application (SPA) frontend. The project aims to support the growing trend of online learning by providing a platform for both instructors and learners.
-
Clone the Repository
- Clone the project repository using the command:
git clone git@github.com:RomanPecheritsa/Learnify.git
- Clone the project repository using the command:
-
Navigate to the Project Directory
- Change to the project directory:
cd Learnify
- Change to the project directory:
- Create a new .env
- Create a new .env file based on the provided .env.example:
cp .env.example .env
- Create a new .env file based on the provided .env.example:
-
Build the Docker Images
- Execute the following command to build the Docker images:
docker-compose build
- Execute the following command to build the Docker images:
-
Start the Docker Containers
-
Start the application and its dependencies using:
docker-compose up
-
The application should be running at http://127.0.0.1:8000.
-
To run the tests and check the test coverage, follow these steps:
Run the tests with coverage: This command runs the Django tests and collects coverage data.
docker exec -it django coverage run --source='.' manage.py test
docker exec -it django coverage report
-
Stop Running Containers
- To stop the running containers, use:
docker-compose down
- To stop the running containers, use:
-
Remove Unused Containers and Images
- If necessary, remove unused containers and images to free up space:
docker system prune -a
- If necessary, remove unused containers and images to free up space:
The full API documentation is available at: