A modern, user-friendly web application for calculating SGPA (Semester Grade Point Average) and CGPA (Cumulative Grade Point Average) with comprehensive data management features.
- 📊 SGPA & CGPA Calculation: Accurate calculations following official academic standards
- 🎨 User-Friendly Interface: Intuitive design for easy data entry and clear results
- 💾 Data Management: Import/export your data as CSV for backup or transfer
- 📈 Progress Tracking: Visualize your academic progress across all semesters
- 🔒 Privacy First: All data is stored locally in your browser - no external servers
- 📱 Responsive Design: Works seamlessly on desktop and mobile devices
Before you begin, ensure you have the following installed:
-
Clone the repository:
git clone https://github.com/kkathriarachchie/GPAstic.git cd GPAstic
-
Install dependencies:
npm install # or yarn install
-
Run the development server:
npm run dev # or yarn dev
-
Open your browser: Navigate to http://localhost:3000 to see the application.
- Enter Module Details: Add your modules, codes, and credit hours for each semester
- Select Grades: Choose grades for each module; GPA is calculated automatically
- Track Progress: View SGPA for each semester and overall CGPA
- Export/Import Data: Backup your data or transfer between devices using CSV
- Export: Click the "Export" button in the header to download your data as a CSV file
- Import: Click the "Import" button and select a previously exported CSV file to restore your data
Note: All data is stored locally in your browser. No information is sent to external servers, ensuring complete privacy.
gpa_cal/
├── components/ # Reusable React components
├── pages/ # Next.js pages
├── styles/ # CSS and styling files
├── utils/ # Utility functions
├── types/ # TypeScript type definitions
├── public/ # Static assets
└── README.md
- Next.js - React framework for production
- React - JavaScript library for building user interfaces
- TypeScript - Typed superset of JavaScript
- Tailwind CSS - Utility-first CSS framework
- Radix UI - Low-level UI primitives
- Lucide Icons - Beautiful & consistent icon toolkit
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Kavishka Kathriarachchie
Full Stack Developer
Available for freelance projects and collaborations.
If you encounter any issues or have questions, please:
- Check the Issues page
- Create a new issue if your problem isn't already reported
- Contact the developer directly via email
⭐ Star this repository if you find it helpful!