Skip to content

A feature-rich e-learning platform built with React, Redux, and Django REST Framework, supporting courses, quizzes, assignments, live Q&A, private courses, and progress tracking.

Notifications You must be signed in to change notification settings

Abdallah-farag27/YOMAC

 
 

Repository files navigation

YOMAC

YOMAC

Yomac is a feature-rich e-learning platform that facilitates seamless interaction between students and instructors. It provides tools to create and manage courses, track progress, host live sessions, and maintain robust communication through Q&A and feedback systems.

🔖 demo


💡 Features

🔙 Backend Functionalities

  • User Authentication: Includes signing in, registering, and password recovery functionalities for both students and instructors.

  • Course Management:

    • Create, edit, and manage courses.
    • Private course options with announcements.
    • Apply discounts to courses.
  • Assignment Management:

    • Upload, grade, and track assignments and exams.
    • Submit and grade assignments.
  • Quiz and Contest Management:

    • Create quizzes.
    • Host contests with automated discount application for passing participants.
  • Statistics and Insights:

    • Generate detailed and managerial statistics.
    • Display transaction history.
    • Track student progress in purchased courses.
  • Request Management:

    • Handle non-top instructors’ requests in the whiteboard menu.

    🔖 Server-side code, private courses extension and livestreaming

💄 Frontend Functionalities

  • Redux Implementation: For efficient state management across the application.
  • User Dashboards:
    • Separate dashboards for students and instructors.
    • Display purchased or created courses with progress tracking for students.
  • Q&A Section:
    • Post and answer questions for each video in a course.
    • Host live Q&A sessions.
  • Profile Management:
    • Display user profile cards.
    • Show transaction history.
  • Homepage:
    • Personalized homepages for non-signed-in users, students, and instructors.
  • Private Course Extension:
    • Additional features for private courses.
  • Course Search: Easily search for available courses.

Shared Functionalities

  • Enrollment:
    • Enroll in courses with optional discounts.
  • Feedback Submission:
    • Submit feedback to instructors or the platform.
  • Announcements:
    • Private announcements for specific courses.
  • Live Interaction:
    • Host and participate in live Q&A sessions.

👨‍💻 Technologies Used

  • Frontend: ReactJS, CSS, Redux toolkit
  • Backend: Django REST Framework
  • Database: PostgreSQL

Usage

  1. Sign Up: Create an account as a student or instructor.
  2. Explore Courses: Search and view available courses.
  3. Enroll: Enroll in courses, apply discounts, and access course materials.
  4. Interact: Participate in Q&A, live sessions, and submit assignments.
  5. Track Progress: Monitor your course progress and grades.
  6. Manage Courses: Instructors can create, edit, and manage their courses and announcements.

🧑‍🍳 Contributors


Abdallah Farag

Omar Hassan

Mohamed Ahmed

Youssef Wafa

Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository.
  2. Create a feature branch.
  3. Commit your changes.
  4. Push the branch and submit a pull request.

About

A feature-rich e-learning platform built with React, Redux, and Django REST Framework, supporting courses, quizzes, assignments, live Q&A, private courses, and progress tracking.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 77.8%
  • CSS 22.1%
  • HTML 0.1%