This project is an online learning platform similar to Udemy, where users can register either as instructors to create courses or as students to purchase and watch courses. It provides a full learning experience with user authentication, course creation, video streaming, and progress tracking.
- Users can register and log in as either an instructor or student.
- Homepage: Redirected to a personalized homepage after login.
- Explore Courses: Browse a catalog of all available courses.
- Course Details: Watch a free preview video and purchase the course if desired.
- My Courses: View a list of purchased courses.
- Course Progress:
- Access and watch all lectures.
- Track progress visually.
- Engage with course content by leaving, replying to, and liking comments on videos.
- Instructor Homepage: Access a dashboard with a table listing the instructor's courses, the number of enrolled students, and total profit for each course.
- Create New Course:
- Open a form to create a new course.
- Upload lectures, videos, and a banner image.
- Enter course information, including title, description, and pricing.
- React.js & Vite: Frontend framework and build tool for a fast, modular application.
- react-router-dom: For seamless navigation and routing within the app.
- react-player: Customized video player for streaming lectures and previews.
- Tailwind CSS & daisyUI: For responsive and styled UI components.
- TypeScript: Provides type safety and improved development experience.
- Zod: Schema-based validation for form and API data.
- Framer Motion: Smooth animations for a polished user experience.
- Express.js & Mongoose: REST API and database modeling with MongoDB.
- cors: Enables secure cross-origin resource sharing.
- bcryptjs: Hashes passwords for secure storage.
- jsonwebtoken: Handles user authentication with tokens.
- Cloudinary: Manages media storage for course images and video content.
- iyzico: Manages secure payment processing.
- MongoDB: NoSQL database for storing users, courses, and progress data.