A course prerequisite visualization tool built with Next.js that displays computer science courses and their relationships in an interactive graph.
- Scrapes course data from the Undergraduate Calendar
- Creates a visual graph representation of course prerequisites
- Uses Next.js, React and D3.js
- Stores user selections in MongoDB
- Install Node.js (v18 or higher)
- MongoDB account or local MongoDB instance
- Clone the repository
- Install dependencies:
npm install
- Create a
.env.localfile in the root directory with your MongoDB credentials:MONGODB_PASSWORD=your_mongodb_password_here - Run the development server:
npm run dev
- Open http://localhost:3000 in your browser
This is a Next.js application with:
- API Routes (
app/api/) - Backend endpoints for course data and selections - Components (
app/components/) - React components for UI - Library (
lib/) - Scraper and course relationship data - Public (
public/) - Static files
npm run dev- Start development servernpm run build- Build for productionnpm start- Start production server
- Using topological sort algorithm to determine the order courses have to be taken
- Use more graph theory concepts to enhance experience
- Improve design (HTML+CSS)
- Add more courses
- Color coding for different subjects
