Flutter Application for Aaveg Fest
- Java-Version - '17.x'
- Flutter-Version - '2.10.x'
- Dart-Version - '2.16' or above
- Android Studio
- Fork and Clone the Repo
git clone <YOUR_FORK_URL>
- Add remote upstream
git remote add upstream <MAIN_REPO_URL>
- To get all the dependencies listed in the pubspec
flutter pub get
- To run the App
flutter run
-
Add google-services.json file inside android/app/
-
Add the file path in .gitignore(if not already)
-
Copy and Paste the config.example.dart to config.dart and add your details
cd lib/utlis cp config.example.dart config.dart
-
Add config.dart in gitignore(if not added already)
-
Creating tar file [services.tar], Run the command below in your project's working directory to create the archive file:
tar cvf services.tar android/app/google-services.json
-
Add the services.tar in .gitignore(if not already)
-
Run the command below to encrypt the services.tar file.
gpg -c services.tar
-
During encryption, it will ask for password which will be used to decrypt the encrypted file. After running the command, there will be a new file in your project's working directory named
services.tar.gpg
. -
Add the gpg password to github secrets
- on: [pull_request, push] to main: This workflow will work whenever someone push or, make a pull request main branch.
- In the steps we are:
- if pull_request
- Run Formatter
- Run Analyzer
- if push
- Decryptes the services.tar.gpg by using the password stored in the secrets FIREBASE_SECRET.
- Builds app-release.apk.
- Stores the generated app-release.apk in artifacts
- if pull_request
- Run the following command
git config core.hooksPath .githooks
-
pre-commit
- Runs Formatter
- Runs Analyzer
-
pre-push
- Checks for un-committed files
- Runs Test cases
Here are the guidelines we'd like you to follow:
NOTE:
Never push directly to main repository (upstream). Only push to your forked repo (origin) and send a pull request to the main repository
To ensure consistency throughout the source code, keep these rules in mind as you are working:
- The coding style to be followed along with instructions to use flutter_lint
- Enable Sound-Null-Safety
Each commit message consists of a header, a body and a footer. The header has a special format that includes a type, a scope and a subject:
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
Any line of the commit message cannot be longer 100 characters! This allows the message to be easier to read on github as well as in various git tools.
feat(Profile): display QR code
fetch the qr code from API and display it on Profile page (profile_screen.dart)
fixes #1234
Please follow the conventions followed here.
Also, refer this page on how to write the body