This project is a web-based application designed to help students plan their academic courses. It allows students to view course prerequisites, plan their semesters, and track their academic progress. The application also includes an admin panel for managing students, courses, and other resources.
- Frontend: React, React Router, Reactflow
- Backend: Node.js, Express.js
- Database: MySQL
- Authentication: JSON Web Tokens (JWT)
The project is divided into two main parts:
frontend: Contains the React application.backend: Contains the Node.js and Express.js server.
To get a local copy up and running, follow these simple steps.
- Node.js and npm installed on your machine.
- MySQL installed on your machine.
- Clone the repo
git clone https://github.com/your-username/your-repository-name.git
- Set up the database
- Create a new MySQL database.
- Import the
academic_planner.sqlfile to set up the database schema. - Import the
mock_data_dbms.sqlfile to populate the database with mock data.
- Set up the backend
- Navigate to the
backenddirectory:cd backend - Install NPM packages:
npm install
- Create a
.envfile in thebackenddirectory and add the following environment variables:DB_HOST=your-db-host DB_USER=your-db-user DB_PASSWORD=your-db-password DB_NAME=your-db-name JWT_SECRET=your-jwt-secret
- Navigate to the
- Set up the frontend
- Navigate to the
frontenddirectory:cd ../frontend - Install NPM packages:
npm install
- Navigate to the
- Start the backend server
- Navigate to the
backenddirectory and run:npm start
- Navigate to the
- Start the frontend development server
- Navigate to the
frontenddirectory and run:npm start
- Navigate to the
The application will be available at http://localhost:3000.