A web-based SGPA calculator for IET Lucknow students following AKTU’s grading scheme.
Students calculate SGPA manually and are often confused about the grading scheme and formulae which leads to frequent mistakes and inconsistency.
This application provides a simple form to input your marks in each subject and computes SGPA using AKTU’s official grading logic.
- Accurate SGPA Calculation
- Multi-Semester and Multi-Branch Support
- Grading Scheme
- SGPA Calculation Formula
- Progressive Web App (PWA) support
- Modern and Responsive UI
- Input validation for marks
- Unit-tested core calculation logic
- Next.js: React framework for building a fast, production-ready web app.
- TypeScript: Ensures type safety and prevents invalid states.
- shadcn/ui: Accessible and consistent UI components.
- Zod + react-hook-form: Type-safe form validation with minimal re-renders.
- Vitest: Unit testing for core calculation logic.
- Vercel: Deployment and CI/CD platform along with real-time analytics.
- Node.js >= 18
git clone https://github.com/thisisatulkumar/iet-lko-cgpa-calculator.git
cd iet-lko-cgpa-calculator
npm installnpm run dev
- Select your semester and branch.
- Enter marks for each subject in the input fields.
- Grades are automatically mapped according to AKTU’s grading scheme.
- SGPA is calculated in real time based on subject credits and grade points.
- The final SGPA is displayed in a dialog box.
The project includes unit and component tests to ensure correctness of the core grading logic and UI behavior.
- Pure utility functions are unit tested to verify grade mapping and SGPA calculation logic, including boundary and invalid input cases.
- Form behavior is tested to ensure inputs behave correctly and results are rendered after user interaction.
- Input auto-advance logic is tested in isolation to validate focus behavior based on user input.
Tests are written using Vitest and @testing-library/react.
To run the test suite:
npm run test- Core SGPA calculation logic is implemented as pure utility functions to keep it deterministic, testable, and independent of the UI.
- Form state and validation are handled using react-hook-form with Zod schemas to ensure type-safe and predictable user input handling.
- UI components are built using shadcn/ui to maintain accessibility and visual consistency while retaining full control over styling.
- Business logic and presentation are separated to make the codebase easier to reason about and maintain.
- Unit tests are written for both utility functions and critical UI interactions to catch regressions early.
- Only for first-year students
- No data persistence
- Computing cumulative CGPA.
- Persist user data across sessions using a backend.
- Allow configuration of grading schemes for different universities.
- Improve result visualization with charts or summaries.
This project is licensed under the MIT License.



