Grade Cutoff Squeezer
Website for approximating the grade cutoffs for courses by using user-submitted data.
Features
- User authentication with JWT
- Course grade submission system
- Dynamic grade cutoff calculation
- Search-enabled course selection
- Rate limiting for submissions
- Mobile-responsive design
- Year-wise course tracking
Tech Stack
Frontend
- React.js
- Chakra UI
- Vite
Backend
- Python Flask
- SQLAlchemy
- JWT Authentication
Setup
Prerequisites
Running
- Backend
Terminal window cd backendpython3 -m venv venvsource venv/bin/activatepip install -r requirements.txtpython3 run.py - Frontend
Terminal window cd frontendnpm installnpx @chakra-ui/cli snippet add toasternpx @chakra-ui/cli snippet add fieldnpx @chakra-ui/cli snippet add providernpx @chakra-ui/cli snippet add selectnpm run dev # for development, otherwise: npm run build
TODO
- Allow users to add courses
- Fix width when no course is selected
- Interface for viewing grade cutoffs
- [!] Add info for users, like “only one submission per course”
- Styling
- [!!] Refactor backend code
- [!] Use dropdown with search input for course selection
- Mobile responsiveness
- [!!] Replace temp and secret stuff with env variables
- [!!] use jwt for cookies
- Allow same course in different years
- Rate limiting