Rutgers Course Search

A Flask web application for searching Rutgers University course information in real-time

Application Architecture
How the components work together

Flask Backend

Serves API endpoints and renders HTML templates

Data Processing

Fetches and processes course data from Rutgers API

Search Interface

Allows users to search courses by title, subject, or course number

Discord Bot

Notifies users when courses become available

Data Flow

  1. 1. User selects parameters (year, term, campus)
  2. 2. User searches for courses
  3. 3. Backend fetches data from Rutgers API
  4. 4. Results are displayed to the user
  5. 5. Discord bot monitors for course availability
  6. 6. Users are notified when courses open

Data Flow Diagram

How data flows through the Rutgers Course Search application

Rutgers API
Source of course data
Course Fetcher
Processes & caches data
Flask App
API & Web Interface
Web Interface
User search interface
Discord Bot
Course availability alerts
Discord Users
Receive notifications
Code Structure
Key files and their purpose in the application

main.py

Entry point for the Flask application

from app import app

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5000, debug=True)

Purpose:

  • Imports the Flask app from app.py
  • Runs the application on port 5000
  • Enables debug mode for development
  • Binds to all network interfaces (0.0.0.0)