The official app of V.S.L. Catena.
For more information about contributing, please read the CONTRIBUTING.md file.
These are required to already have installed to run the other commands:
- Node.js
- Dart
- Flutter
Tools for firebase:
npm install -g firebase-tools
More tools for firebase, but then for flutter (FlutterFire cli):
flutter pub global activate flutterfire_cli
To remove a lot of the burdens, we use some scripts using rps:
dart pub global activate rps
You need to add your fingerprint to the firebase console. You can find the fingerprint by:
- Logging in into firebase by running
firebase login
- Going to the folder of
app/android
and running./gradlew signingReport
- Copying the SHA1 and SHA256 fingerprint
- Going to the firebase console and adding both fingerprints to the app project settings
- Running
flutterfire configure
, also in theapp/android
folder
This should give you the ability to actually talk to firebase.
Temporarily (until we have written the cloud functions to do this for us), you need to add some data to the firestore database to make the app work:
- Add yourself in the members collection, the id must be your microsoft account's uuid. Look at an other member to see what fields you need to add.
- Check what your firebase's user uid is in firebase authentication, and add a document in the users collection with that uid. In there you need to add a field called
memberId
with the value of your microsoft account's uuid.
We have a couple of scripts to make our lives easier. All these commands are both available in the root, and in the different modules. If a certain command takes a long time to run, you can go into the module and run the command there.
rps build
rps generate
Things generated in the build command are required to run this command.
You should rerun rps build
when you change things to:
- Dependency Injection
You should rerun rps generate
when you change things to:
- Translations