Skip to content

Priyanshu9898/SkillShare-A-Course-Website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Skillshare-Course Sharing Platform with Interactive Admin Dashboard

Project Description:

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.

Features

  • MERN Stack Architecture:

    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:

    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:

    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.

  • Chakra UI:

    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.

  • Logging and Custom Exception Handling:

    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.

  • Course Management:

    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.

  • Advanced Search Capabilities:

    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.

  • Secure Payments:

    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.

  • Interactive Admin Dashboard:

    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:

    1. Course Management: Creators can create, update, and manage their courses, upload course materials, and track user enrollment.
    2. User Analytics: The dashboard offers detailed insights into user engagement, such as the number of views, enrollments, and completion rates for each course.
    3. Revenue Analytics: Course creators can monitor their earnings, analyze revenue trends, and identify the most profitable courses.
    4. Feedback and Reviews: The dashboard allows creators to view user feedback and reviews, enabling them to identify areas for improvement and optimize their course offerings.
    5. Notifications and Alerts: The admin dashboard provides real-time notifications and alerts for important events, such as new enrollments, course completions, and payment transactions.
  • JWT-based Authentication:

    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.

  • Password Management with Nodemailer:

    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.

  • Profile Management:

    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.

Tech Stack

Frontend: React, ChakraUI, Redux.js, Redux Toolkit

Server: Nodejs, ExpressJs, MongoDB, Razorpay, Bcrypt, Axios, Nodemailer, JWT Web Token, Multer, cloudinary

Prerequisites

  • React.js
  • Node.js
  • MongoDB Account
  • Cloudinary account
  • Razorpay developer account
  • Nodemailer Account

Installation

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

Usage

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.

Screenshots

App Screenshot

App Screenshot

App Screenshot

App Screenshot

App Screenshot

App Screenshot

App Screenshot

App Screenshot

App Screenshot

App Screenshot

App Screenshot

πŸ”— Links

portfolio linkedin twitter Medium

Demo

Insert gif or link to demo

Deployment

To deploy this project run

  npm run deploy

Badges

Add badges from somewhere like: shields.io

MIT License GPLv3 License AGPL License

License

MIT