https://github.com/manighahrmani/programming_marks_calculator
A calculator for the Programming module (M30299) build using Flutter and hosted on Firebase.
https://github.com/manighahrmani/programming_marks_calculator
dart firebase flutter portsmouth programming
Last synced: 8 days ago
JSON representation
A calculator for the Programming module (M30299) build using Flutter and hosted on Firebase.
- Host: GitHub
- URL: https://github.com/manighahrmani/programming_marks_calculator
- Owner: manighahrmani
- Created: 2024-05-31T17:11:32.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-08T19:25:34.000Z (about 1 year ago)
- Last Synced: 2025-02-08T20:26:09.846Z (about 1 year ago)
- Topics: dart, firebase, flutter, portsmouth, programming
- Language: C++
- Homepage: https://programming-marks-calculator.web.app
- Size: 317 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Programming Marks Calculator
This is a Flutter app that calculates the total marks for a programming course based on various assessments and their respective weights.
## Getting Started
To run this app on your local machine, follow these steps:
1. Make sure you have Flutter installed. If not, follow the official installation guide: [Flutter Installation](https://flutter.dev/docs/get-started/install)
2. Clone this repository using Visual Studio Code:
- Open Visual Studio Code.
- Press `Ctrl+Shift+P` (or `Cmd+Shift+P` on macOS) to open the command palette.
- Type "Git: Clone" and press Enter.
- Paste the repository URL: `https://github.com/manighahrmani/programming_marks_calculator`
- Choose a location to save the cloned repository.
- Click "Open" to open the cloned repository in Visual Studio Code.
3. Install the necessary extensions in Visual Studio Code:
- Dart
- Flutter
4. Open the terminal in Visual Studio Code (`Ctrl+Shift+P` and type "Terminal: Create New Integrated Terminal") and navigate to the project directory:
```
cd programming_marks_calculator
```
5. Run the following command to get the dependencies:
```
flutter pub get
```
6. Connect a device or start an emulator.
7. Run the app using the following command:
```
flutter run
```
## App Structure
The app consists of three main parts:
1. **Data**: The [`lib/data/assessment_data.dart`](https://github.com/manighahrmani/programming_marks_calculator/tree/main/lib/data/assessment_data.dart) file contains the data for the assessments and their corresponding weights.
2. **Backend**: The [`lib/backend/marks_calculator.dart`](https://github.com/manighahrmani/programming_marks_calculator/tree/main/lib/backend/marks_calculator.dart) file contains the logic for calculating the total marks based on the entered marks and the assessment weights.
3. **UI**: The [`lib/ui/home_page.dart`](https://github.com/manighahrmani/programming_marks_calculator/tree/main/lib/ui/home_page.dart) file defines the user interface of the app. It includes text fields for entering marks and a button to calculate the total marks.
The UI communicates with the backend by passing the entered marks to the `MarksCalculator` class, which performs the calculations and returns the result. The data is kept separate in the `assessment_data.dart` file, promoting separation of concerns.
## Hosting on Firebase (for free!)
To host your Flutter app as a website on Firebase, follow these steps:
1. Create a new Firebase project on the Firebase Console: [Firebase Console](https://console.firebase.google.com/)
2. Install the Firebase CLI by running the following command:
```
npm install -g firebase-tools
```
3. Log in to Firebase using the CLI:
```
firebase login
```
4. In your Flutter project directory, initialize Firebase:
```
firebase init
```
Select "Hosting" and follow the prompts to set up hosting.
5. Build your Flutter app for the web:
```
flutter build web
```
6. Deploy your app to Firebase Hosting:
```
firebase deploy
```
7. Your app will be hosted at the provided URL, which will look like: `https://your-project-id.web.app`
## Live App
You can test the live version of the Programming Marks Calculator app hosted on Firebase: [Programming Marks Calculator](https://programming-marks-calculator.web.app)
Feel free to explore the app and provide feedback!