Skip to content

zaki-reg/nokta-v2

Repository files navigation

Nokta 📚

A comprehensive Flutter mobile application designed to help university students track academic progress, calculate semester and annual averages, and access essential academic resources.

App Banner

📱 Screenshots

On Boarding Screen On Boarding Screen On Boarding Screen Welcome Screen Home Screen Semester Screen

✨ Features

  • 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

🛠️ Technologies Used

📋 Prerequisites

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)

⚙️ Installation and Setup

Clone the repository

git clone https://github.com/zaki-reg/nokta-v2.git
cd nokta-v2

Install dependencies

flutter pub get

Configure Firebase

  1. Create a new Firebase project at Firebase Console
  2. Register your app with Firebase
  3. Download the google-services.json file and place it in the android/app directory
  4. Download the GoogleService-Info.plist file and place it in the ios/Runner directory
  5. 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

Run the application

# Check if your device is connected
flutter devices

# Run the app on your connected device
flutter run

Build the application

# For Android
flutter build apk --release

# For iOS
flutter build ios --release

🧪 Testing

# Run all tests
flutter test

# Run a specific test file
flutter test test/calculator_test.dart

📱 Deployment

Android

  1. Build the APK:
    flutter build apk --release
  2. Find the APK at: build/app/outputs/flutter-apk/app-release.apk
  3. Upload to Google Play Store following their publishing guidelines

iOS

  1. Build the iOS release:
    flutter build ios --release
  2. Open the Xcode workspace:
    open ios/Runner.xcworkspace
  3. Follow Apple's distribution process to upload to the App Store

📝 Project Structure (No architecture used in this project)

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

🤝 Contributing

Contributions are welcome! Here's how you can contribute:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgements

Made with ❤️ for university students

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published