A comprehensive web application for semester-by-semester course planning, built with React, TypeScript, and Supabase.
- Secure user authentication with Supabase
- Interactive semester-by-semester course planning
- Customizable number of semesters (4-12)
- Course information tracking:
- Course code and name
- Credit hours
- Required/elective status
- Grades
- Real-time course search and filtering
- Modern, responsive UI with Material-UI components
- Node.js (v14 or higher)
- npm or yarn
- Supabase account
- Clone the repository and install dependencies:
cd course-planner
npm install-
Set up your Supabase database:
- Create a new Supabase project
- Execute the SQL commands from
src/lib/schema.sqlin your Supabase SQL editor - This will create the necessary tables and set up row-level security policies
-
Configure environment variables: Copy
.envfile and update with your credentials:
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
- Start the development server:
npm run dev-
Sign up or log in to your account
-
Navigate to the Course Plan page to:
- View and edit your semester-by-semester course plan
- Add/remove courses
- Adjust the number of semesters
- Update course details and grades
-
Use the Course Browser page to:
- Browse available courses
- Add courses to your plan
- Filter courses by code or name
- React 18 with TypeScript
- Vite for fast development and building
- Material-UI for polished UI components
- Supabase for:
- User authentication
- PostgreSQL database
- Row Level Security
- React Router for navigation
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
MIT