Skip to content

The Dj-Online-Courses project is a Django-based web application designed to facilitate online

Notifications You must be signed in to change notification settings

Mohamed00Abdelmonem/Dj-Online-Courses

Repository files navigation

Dj-Online-Courses

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.

Features

  • 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.

Tech Stack

  • 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.

Contact Information

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!

About

The Dj-Online-Courses project is a Django-based web application designed to facilitate online

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published