An AI-powered scheduling assistant designed to help college students manage their time effectively. SmartSched integrates class schedules, assignments, and personal preferences to automatically generate an optimized weekly plan that balances study time, rest, and deadlines.
Frontend: React, Vite, Tailwind CSS, FullCalendar.js
Backend: Node.js, Express.js
Database: SQLite (via better-sqlite3)
Auth: Supabase (Google OAuth)
ML/AI: Google Gemini
smartsched/
starter-frontend/ # React/Vite frontend
starter-backend/ # Express backend
- Node.js
- npm
Clone the repo and install dependencies for both frontend and backend:
git clone <your-repo-url>
cd smartsched
cd starter-frontend
npm install
cd ../starter-backend
npm installCreate a .env file in starter-backend/:
SUPABASE_URL=your-supabase-project-url
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
Never commit your
.envfile. It's already in.gitignore.
In one terminal, start the backend:
cd starter-backend
node server.jsIn another terminal, start the frontend:
cd starter-frontend
npm run devFrontend runs on http://localhost:5173
Backend runs on http://localhost:3001
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/events |
Get all events |
| GET | /api/events/:id |
Get a single event |
| POST | /api/events |
Create a new event |
| DELETE | /api/events/:id |
Delete an event |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/assignments |
Get all active assignments |
| POST | /api/assignments |
Create a new assignment |
| PUT | /api/assignments/:id |
Update an assignment |
| DELETE | /api/assignments/:id |
Delete an assignment |
- Calendar UI with week/month/day views
- Event creation and deletion
- Assignment management (add, update, complete)
- SQLite persistent storage
- Google login via Supabase
- AI-generated optimized schedule
This project uses a PR-based workflow.
- Create a new branch for your feature:
git checkout -b your-feature-name
- Make your changes and commit:
git add . git commit -m "feat: description of your change"
- Push and open a PR:
git push origin your-feature-name
- Get at least one review before merging into main.
| Role | Members |
|---|---|
| Frontend | Jessica, Xander, Dana |
| Backend | Stephanie, Dana, Sid |
| AI/ML | Sid, Jessica, Dana |
| Project Lead | Stephanie |
| Guide | Medha |