Skip to content

This project is a course management application that allows students to view and enroll in courses.

Notifications You must be signed in to change notification settings

yashj09/Courses

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Course Management Application

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.

Demo Video

Untitled.video.-.Made.with.Clipchamp.mp4

Watch Demo video on Youtube

Screenshots

Courselist

alt text

CourseDetails

alt text

StudentDashboard

alt text

Tech Stack

Frontend

  • 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.

Backend

  • 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.

Installation and Setup

Prerequisites

  • 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).

Backend Setup

  1. Clone the backend repository:
git clone https://github.com/yashj09/Courses.git
cd backend
  1. Install dependencies:
npm install
  1. Create a .env file in the root directory with the following environment variables:
PORT=3000
MONGO_URI=your_mongodb_connection_string or use mongodb://localhost:27017/
  1. Start the backend server:
npm run dev

The backend server should now be running on http://localhost:3000.

Frontend Setup

  1. Clone the frontend repository:
git clone https://github.com/yashj09/Courses.git
cd frontend
  1. Install dependencies:
npm install
  1. Start the frontend development server:
npm run dev

The frontend application should now be running on http://localhost:5173.

Running the Application

  1. Ensure the backend server is running on http://localhost:3000.
  2. Ensure the frontend application is running on http://localhost:5173.

You should now be able to access the application in your browser.

API Endpoints

Courses

  • GET /api/courses: Get all courses.
  • POST /api/courses: Create a new course .
  • GET /api/courses/:id: Get a course by ID.

Enrollment

  • 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!