Website Link: https://skillshare-pied.vercel.app/
The Skillshare-Course Sharing Platform is a dynamic and feature-rich web application that enables educators and learners to share, discover, and engage with a wide range of online courses.
The platform is designed using the MERN stack (MongoDB, Express, React, and Node.js) and incorporates modern technologies such as Redux Toolkit, Cloudinary, Multer, Bcrypt, Chakra UI, and Razorpay to deliver a seamless and secure user experience.
One of its key features is an interactive admin dashboard designed specifically for course creators to manage their courses and track user engagement efficiently.
The primary objective of the platform is to create a thriving community of learners and educators who can collaboratively explore and share knowledge across various domains.
The platform offers a user-friendly interface, advanced search capabilities, secure payment options, and an intuitive course management system, making it a go-to destination for online learning and teaching.
-
The platform utilizes the MERN stack, a popular and powerful technology stack for building full-stack applications. MongoDB serves as the database for storing user and course information, Express and Node.js provide the backend framework, and React is used for building the frontend UI components.
-
Redux Toolkit is integrated to manage the application state efficiently and consistently. It simplifies the process of writing Redux code and offers a set of utility functions that streamline state management and improve performance.
-
User authentication and authorization are handled using Bcrypt for password hashing and secure storage. This ensures that user data is protected and that only authorized users can access specific features and resources within the platform.
-
The frontend UI is designed using Chakra UI, a modern and accessible component library that offers a wide range of customizable and responsive UI components. Chakra UI simplifies the process of building aesthetically pleasing and user-friendly interfaces while ensuring accessibility and responsiveness across various devices.
-
The system incorporates extensive logging and custom exception handling mechanisms to monitor the application's performance, detect issues, and ensure a seamless user experience. These mechanisms provide detailed information on errors, warnings, and system events, enabling developers to troubleshoot and improve the system continuously.
-
The platform offers a comprehensive course management system that enables educators to create, update, and manage their courses with ease. Users can upload course materials, such as videos, images, and documents, using Multer for handling file uploads and Cloudinary for efficient media storage and retrieval.
-
The platform provides users with advanced search capabilities, allowing them to find courses based on keywords, categories, ratings, and other relevant criteria. This feature enhances the user experience by making it easy to discover and access the most suitable courses.
-
Payments for premium courses are securely processed using Razorpay, a robust and reliable payment gateway. Razorpay supports various payment methods, such as credit cards, debit cards, and e-wallets, ensuring that users can easily and securely purchase courses.
-
The platform provides course creators with an interactive admin dashboard that offers a comprehensive overview of their courses, user engagement, and performance metrics. The dashboard is designed using data visualization techniques and includes features such as:
-
The platform employs JSON Web Tokens (JWT) for secure user authentication. JWTs are generated upon successful login and are used to verify user identity and grant access to protected resources. This approach ensures that user data is protected and that only authorized users can access specific features and resources within the platform.
-
The platform incorporates Nodemailer for handling password-related functionalities, such as reset password and forgot password features. Nodemailer enables the secure and efficient sending of emails with password reset links to users who have forgotten their passwords or wish to change them. This ensures that users can easily manage their passwords and maintain the security of their accounts.
-
The Skillshare-Course Sharing Platform provides users with the ability to manage their profiles, including updating personal information, changing passwords, and managing account settings. This feature enhances the user experience by allowing users to maintain and customize their accounts according to their preferences.
Frontend: React, ChakraUI, Redux.js, Redux Toolkit
Server: Nodejs, ExpressJs, MongoDB, Razorpay, Bcrypt, Axios, Nodemailer, JWT Web Token, Multer, cloudinary
- React.js
- Node.js
- MongoDB Account
- Cloudinary account
- Razorpay developer account
- Nodemailer Account
Clone the repository
git clone https://github.com/Priyanshu9898/SkillShare-A-Course-Website
Change to the project's directory
cd SkillShare-A-Course-Website
Install the frontend dependencies
cd frontend
npm install
Install the Backend dependencies
cd backend
npm install
Start the frontend development server
cd frontend
npm start
Start the backend development server
cd backend
npm run dev
Open your browser and visit http://localhost:3000 to access the frontend of the web application.
Insert gif or link to demo
To deploy this project run
npm run deploy
Add badges from somewhere like: shields.io