Welcome to the Dj-Online-Courses project repository! This Django-based web application is designed to facilitate online learning by offering a platform where users can access courses, lessons, and interact with instructors and peers.
- Courses and Lessons: Users can browse and view both course and lesson listings, along with detailed information.
- Course Reviews: Users can leave reviews for courses, providing valuable feedback to instructors and potential learners.
- Quiz for Lessons: In-progress feature to add quizzes to lessons for interactive learning experiences.
- Notifications and Email: Work in progress to implement notifications and email functionality for various events within the platform.
- Social Login: Feature to allow users to log in using their social media accounts.
- Document Upload: Users can upload PDF documents, adding supplementary materials to courses.
- Authentication: In-progress feature to implement user authentication and account management.
- Advanced Features: Utilizes Celery for task management, caching for performance optimization, and Docker for containerization.
- Dummy Data and Debug Toolbar: In-progress features to add dummy data for testing and debugging, along with a debug toolbar for monitoring.
- Coupon Application: Ability for users to apply coupons for discounts on course purchases.
- Stripe Payment Integration: Integration of Stripe for secure payment processing.
- Payment Handling: Functionality to restrict access to lessons until payment is made.
- Permissions Management: Permissions are set for students and instructors, ensuring appropriate access levels.
- Notifications for New Lessons: In-progress feature to notify users when new lessons are added.
- Email Notifications: Functionality to send emails to all students for important updates.
- Admin Panel Customization: Adds a new theme to the Django admin panel for improved aesthetics and usability.
- API Development: In-progress development of APIs for integration with other services.
- Python: Programming language used for backend development and scripting tasks.
- Django: High-level Python web framework for rapid development and clean, pragmatic design.
- HTML/CSS: Frontend markup and styling languages for structuring and presenting the web interface.
- JavaScript: Programming language for adding interactivity and dynamic behavior to web pages.
- Celery: Distributed task queue used for background processing, such as sending asynchronous notifications and emails.
- Docker: Containerization platform used to package and deploy the application along with its dependencies.
- Stripe: Payment processing platform integrated to handle secure online payments.
- PostgreSQL: Open-source relational database management system used for storing application data.
- Redis: In-memory data structure store used as a cache and message broker for Celery.
- Django Rest Framework (DRF): Toolkit for building Web APIs in Django, used for developing API endpoints.
- Bootstrap: Frontend framework for designing responsive and mobile-first websites.
- Summernote: WYSIWYG editor integrated into Django admin for rich text editing capabilities.
- OAuth: Protocol for authorization used for social login functionality, allowing users to authenticate using their social media accounts.
This tech stack enables the development of a robust and scalable online learning platform with features like course management, user authentication, payment handling, notifications, and more.
- Name: Mohamed Abdelmonem
- Email: mmohamedabdelm@gmail.com
- WhatsApp: +20 1026120743
Feel free to explore the code, contribute enhancements, or provide feedback. Your input is highly appreciated as I continue to develop and improve Dj-Online-Courses.
Thank you for your interest in this project!