Welcome to the Course Selling App repository! This is a web application built using the MERN stack that allows administrators to manage courses and users to purchase courses. The app utilizes JWT for authentication, Recoil for state management, Axios for API communication, and Material-UI (Mui) for styling.
-
Admin Features:
- Admin authentication using JWT.
- Admin registration and login.
- Admins can create, edit, and manage courses.
- Course uploading by admins.
-
User Features:
- User authentication and registration.
- Users can browse and purchase courses.
- User dashboard to manage purchased courses.
- Video streaming for courses.
-
Frontend:
- React.js for building the user interface.
- Material-UI (Mui) for styling components.
- Recoil for state management.
-
Backend:
- Node.js and Express for server-side logic.
- MongoDB for the database.
- JSON Web Tokens (JWT) for authentication.
- Clone the repository:
git clone https://github.com/nipun-mehndiratta/Skillify.git
- Navigate to the project directory:
cd course_selling_app
- Install backend dependencies:
cd server && npm install
- Install frontend dependencies:
cd admin-client && npm install
-
Make sure to update the MongoDB connection details in the
server/index.js
file. -
Start the backend server:
In the server directory, run: node index.js
- Start the Frontend:
In the admin-client directory, run: npm run dev In the user-client directory, run: npm run dev
Admin Registration/Login:
- Navigate to the admin login/register page.
- Follow the prompts to register or log in as an admin.
Admin Dashboard:
- Once logged in as an admin, access the admin dashboard.
- Manage existing courses and upload new courses.
User Features:
- User registration and login.
- Browse and purchase available courses.
- Manage purchased courses.
- Course streaming.
Course Uploading (Admin Feature):
Admins can upload new courses through the admin dashboard.
Contributions are welcome! To contribute to this project, follow these steps:
- Fork the repository.
- Create a new branch for your feature:
git checkout -b feature-name
- Make your changes and commit them:
git commit -m "Add some feature"
- Push the changes to your fork:
git push origin feature-name
- Create a pull request detailing your changes.
If you have any questions or suggestions, feel free to contact me at nipun2000.m@gmail.com.