A comprehensive Flutter mobile application designed to help university students track academic progress, calculate semester and annual averages, and access essential academic resources.
- Calculator: Calculate semester and annual averages
- Grade Tracker: Keep track of grades across multiple courses and semesters
- Academic Resources: Access to study guides, templates, and learning resources
- Schedule Manager: Organize class schedules and important academic dates
- Reminders: Set notifications for assignment deadlines and exam dates
- Dark Mode: Comfortable viewing experience in low-light environments
- Offline Support: Access core functionalities without internet connection
- Flutter
- Dart
- Firebase (Firestore Storage)
- Riverpod (State Management)
- Shared Preferences (Local Storage)
Before you begin, ensure you have met the following requirements:
- Flutter (version 3.10.0 or higher)
- Dart (version 3.0.0 or higher)
- Git
- Android Studio or VS Code with Flutter extensions
- A Firebase account (for authentication and database features)
git clone https://github.com/zaki-reg/nokta-v2.git
cd nokta-v2
flutter pub get
- Create a new Firebase project at Firebase Console
- Register your app with Firebase
- Download the
google-services.json
file and place it in theandroid/app
directory - Download the
GoogleService-Info.plist
file and place it in theios/Runner
directory - Follow the FlutterFire configuration steps:
flutter pub add firebase_core flutter pub add firebase_auth flutter pub add cloud_firestore flutter pub add firebase_storage
# Check if your device is connected
flutter devices
# Run the app on your connected device
flutter run
# For Android
flutter build apk --release
# For iOS
flutter build ios --release
# Run all tests
flutter test
# Run a specific test file
flutter test test/calculator_test.dart
- Build the APK:
flutter build apk --release
- Find the APK at:
build/app/outputs/flutter-apk/app-release.apk
- Upload to Google Play Store following their publishing guidelines
- Build the iOS release:
flutter build ios --release
- Open the Xcode workspace:
open ios/Runner.xcworkspace
- Follow Apple's distribution process to upload to the App Store
nokta-v2/
├── android/ # Android native code
├── ios/ # iOS native code
├── lib/
│ ├── main.dart # Entry point
│ ├── data/ # Data models
│ ├── screens/ # UI screens
│ ├── theme/ # light/dark modes
│ ├── providers/ # Utility providers
│ └── widgets/ # Reusable widgets
├── test/ # Unit and widget tests
└── web/ # Web-specific code
Contributions are welcome! Here's how you can contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
- Flutter Documentation
- Firebase Documentation
- Material Design
- All the amazing contributors who have helped shape this project
- University advisors who provided guidance on academic calculations and resources
Made with ❤️ for university students