EDEPedia or DEPI Academy is a comprehensive eLearning Management System (eLMS) that provides a platform for students to access courses, interact with instructors, and manage their learning journey. The system consists of three main components: the main app for students, a dashboard app for instructors, and an admin app for system management.
The project is organized into three main applications:
- Main App (
src/apps/mainApp
) - Dashboard App (
src/apps/dashboardApp
) - Admin App (
src/apps/adminApp
)
Each app has its own routing and components, with shared components, utilities, and data in the root src
directory.
- User authentication and authorization
- Course creation, management, and enrollment
- Video lesson playback and content management
- Progress tracking and analytics
- Instructor profiles and course management
- Student reviews and ratings
- Shopping cart and checkout process
- Responsive design for various devices
- Admin panel for user and content management
- Real-time messaging and notifications
- Comments system and replies
- Rating and reviews system with CRUD operations
The main app is the primary interface for students and visitors. It includes the following key features and components:
- Showcases featured courses and instructors
- Provides quick access to course categories
- Displays team members and their mentor (About)
- Allows users to browse and search for courses
- Implements pagination, filtering, and sorting options
- Displays course cards with key information
- Shows comprehensive course information
- Includes instructor details and reviews
- Provides options to enroll or add to cart
- Manages selected courses
- Allows users to adjust quantities, wishes, or remove items
- Enables users to save courses for later consideration
- All courses are free till now!
- Displays enrolled, archived courses, and progress
- Manages account settings and preferences
- Shows reviews, assigned instructors, and the ability to message each one
- Highlights instructor qualifications and courses
- Displays ratings and student feedback
- Allows students to communicate with instructors
- Supports real-time notifications for new messages
- Opens a messaging room with the instructor when a course is purchased, with an activity indicator for real-time messaging notifications for new messages, indicating whether they have been read or not.
- Provides access to bought courses
- Implements a progress tracking system for each course
- Latest opened menu of the latest video tracked for better user experience
The dashboard app is designed for instructors to manage their courses and interact with students. Key features include:
- Displays an overview of course performance and earnings
- Shows recent courses, reviews, and student engagement metrics
- Allows creation and editing of courses
- Integrated with YouTube API to extract videos (titles, sources, and thumbnails) from a playlist
- Displays student reviews for instructor's courses
- Allows instructors to update their profile information
- Manages instructor qualifications and expertise areas using markdown
The admin app provides system-wide management capabilities:
- Manages all user accounts (students, instructors, admins)
- Ability to create, edit, or deactivate user accounts
- Reviews and approves new courses
- Monitors course quality and student feedback
- React.js
- Redux Toolkit for state management
- React Router for navigation
- Bootstrap for styling
- Socket.io for real-time communication
- Chart.js for data visualization
- Axios for API requests
- React Hook Form for form handling
- React Select for advanced select inputs
- React Player for video playback
- React Markdown for rendering markdown content
- React Toastify for notifications
- Skeleton for skeleton components on initialization and loading
- Git & GitHub: For version control, including merging and rebasing.
- Figma: For transforming UI designs into functional, interactive, pixel-perfect digital experiences.
- Vercel: For hosting the application.
-
API Repository Link the back-end repo
-
Figma designes the Ui designes