This is a Django-based backend for a course app where students can enroll in courses, teachers can sell courses, and students within the same course can chat with each other.
- Course Management:
- Teachers can create, update, and manage courses.
- Students can browse and enroll in courses.
- Chat Functionality: Real-time chat for students enrolled in the same course.
- Lecture Upload: Lectures can be uploaded to AWS S3.
- Video Processing: FFmpeg is used in a separate Docker container for video processing.
- Payment Integration: Teachers can sell courses to students.
- User Authentication: Secure login and registration for students and teachers using JWT.
- Backend: Django
- Database: SQLite (default) / MySQL / PostgreSQL (configurable)
- Real-time Communication: Django Channels
- Authentication: JWT (JSON Web Tokens)
- File Storage: AWS S3
- Video Processing: FFmpeg in Docker
- Containerization: Docker
- Python 3.x
- Django
- AWS S3 bucket
- Redis
- Docker
- MySQL
-
Clone the Repository
git clone https://github.com/your-username/course-website.git cd course-website
-
Create a Virtual Environment
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install Dependencies
pip install -r requirements.txt
-
Configure Database
- Update the DATABASES setting in settings.py to configure your database.
-
Run Migrations
python manage.py migrate
-
Create a Superuser
python manage.py createsuperuser
-
Run the Development Server
daphne smartskill_studio.asgi:application
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Commit your changes.
- Push the branch and create a pull request.