- To build the project you will need 🦅 Flutter and platform-specific SDKs. Please follow the comprehensive instructions in the Flutter docs.
- You will need Docker or a setup for building
event-app-backend
, if you want to host it locally.
- 🍺 🥃 🍷 🍸
- 📥 Check out this repository.
- 📝 Copy
.env.example
to.env
and fill in the configuration.API_URL
needs to point to a running instance ofevent-app-backend
with the API path appended to it (/api/v0
). You can either host the backend locally (follow the Docker instructions on the backend repo) or use the publicly hostedhttps://event-app-backend.hop.sh/api/v0
.
- 🏃♀️
flutter run
-
📂
lib/
contains the actual application code.- 📂
features/
contains UI code and is organized by features. - 📂
api/
contains services interfacing with the backend.
- 📂
-
📜
.env
contains app configuration which can be customized by any developer to suit the needs of their dev environment, and should not be included in source control. 📜.env.example
provides an example for new developers and should not be filled in with actual data. -
The following directories contain platform-specific native code generated by Flutter. You will probably never need to modify their contents and should always commit them as-is. Though please make sure not to commit unnecessary files, e.g. workspace config files generated by XCode. When in doubt, try to rename/delete them and see if 🏃♀️
flutter run
still succeeds.📂 android/ 📂 ios/ 📂 linux/ 📂 macos/ 📂 web/ 📂 windows/
Branches related to tickets from the issue tracker should be named username/ticket-id
. Ideally just copy the branch name from Linear directly.
- When publishing a branch, open a PR for it, self-assign it and mark it as ✏️
draft
. - Try to push 📤 as often as possible and rebase 🔄 your branch as often as possible.
- When your changes are complete and your PR passes all CI checks ✅, remove the
draft
label and request a review 👀. - After getting an approval ✅, remember to rebase your branch and feel free to squash 🫂 and merge 📥.
- 🤑 💸 💰 📈
❕ Note: As a reviewer, make sure to always have the latest state of the branch checked out. Ideally you should do basic manual testing before approving changes.