The Learning Management System (LMS) is a web application that facilitates online learning, managing courses, and student engagement. It combines the power of Django for backend development and React.js for frontend user interfaces.
- User Authentication and Authorization: Secure user login and role-based access control.
- Course Creation and Enrollment: Instructors can create courses, and students can enroll in them.
- Content Delivery: Upload and organize course materials such as videos, documents, and quizzes.
- Progress Tracking and Analytics: Monitor student progress, completion rates, and performance.
- Discussion Forums: Enable communication and collaboration among students and instructors.
- User Profiles: Personalized profiles for learners and educators.
- Django: A high-level Python web framework for backend development.
- React.js: A JavaScript library for building interactive user interfaces.
- React Router: For client-side routing.
- Redux: For state management.
- SASS: Used for styling components.
- Vite: Bundles frontend assets.
- PostgreSQL: Powerful relational database management system.
-
Clone the Repository:
git clone https://github.com/DevStrikerTech/Learning-Management-System.git
-
Backend Setup:
-
Navigate to the
backend
directory. -
Install dependencies:
pip install poetry poetry install
-
Set up the database:
poetry run python manage.py migrate
-
Run the development server:
poetry run python manage.py runserver
Run the tests:
poetry run coverage run manage.py test poetry run coverage report
- Frontend Setup:
- Navigate to the
frontend
directory. - Install dependencies:
yarn install
- Start the frontend application locally:
yarn dev
- Access the Application:
- Backend: http://localhost:8000
- Frontend: http://localhost:5173
-
Create a new feature branch: git checkout -b feature/-
-
Develop the feature, committing atomic changes.
-
Ensure tests pass:
yarn run test
-
Create a Pull Request and get feedback.
-
After approval, merge into the
develop
branch.
Contributions are more than welcome! Please follow the guidelines in CONTRIBUTING.md.
This project is licensed under the GPL-3.0 License. See LICENSE for details.