This project is a course management application that allows students to view and enroll in courses, and instructors to create and manage courses. The application consists of a frontend built with React and a backend built with Node.js and Express.Hosted on Vercel.
Untitled.video.-.Made.with.Clipchamp.mp4
- React: A JavaScript library for building user interfaces.
- Redux: A predictable state container for JavaScript apps.
- Axios: Promise-based HTTP client for the browser and Node.js.
- Tailwind CSS: A utility-first CSS framework for rapid UI development.
- React-icon: A library of popular icons for React.
- v0.dev: Utilize shadcn/ui library to generate UI based on simple text prompts.
- Node.js: A JavaScript runtime built on Chrome's V8 JavaScript engine.
- Express: A minimal and flexible Node.js web application framework.
- MongoDB: A NoSQL database for storing course and user data.
- Mongoose: An ODM (Object Data Modeling) library for MongoDB and Node.js.
- Vercel: A cloud platform for static sites and Serverless Functions.
- Node.js: Ensure you have Node.js installed on your machine.
- MongoDB: You need a MongoDB instance running locally or in the cloud (e.g., MongoDB Atlas).
- Clone the backend repository:
git clone https://github.com/yashj09/Courses.git
cd backend- Install dependencies:
npm install- Create a
.envfile in the root directory with the following environment variables:
PORT=3000
MONGO_URI=your_mongodb_connection_string or use mongodb://localhost:27017/- Start the backend server:
npm run devThe backend server should now be running on http://localhost:3000.
- Clone the frontend repository:
git clone https://github.com/yashj09/Courses.git
cd frontend- Install dependencies:
npm install- Start the frontend development server:
npm run devThe frontend application should now be running on http://localhost:5173.
- Ensure the backend server is running on
http://localhost:3000. - Ensure the frontend application is running on
http://localhost:5173.
You should now be able to access the application in your browser.
- GET
/api/courses: Get all courses. - POST
/api/courses: Create a new course . - GET
/api/courses/:id: Get a course by ID.
- POST
api/:courseId/enroll/:studentId': Enroll in a course (Student only). - GET
api/:studentId/courses': Get all courses a student is enrolled in.
Feel free to reach out if you have any questions or need further assistance!


