Skip to content

peterBrxwn/birdiefy

Repository files navigation

Birdiefy Mobile App

This is the source code for a demo application built using flutter programming language and firebase for the back end. It can be compiled for iOS, Android, windows and web platform.

Birdiefy is a simple application for Golfers to use. Users can:

  • Create accounts
  • Login
  • View Profile
  • View Rounds
  • Add Rounds

App Screenshots

Welcome Page     Login Page     Registration Page
   
 
Rounds Page   User Page   Add Rounds Page
   
 
Select date modal   Select hole modal
 

Requirements

  • Flutter version 3.3.0
  • Flutter sdk environment: ">=2.16.1 <3.0.0"

Getting Started

For help getting started with Flutter, view their online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

For help getting started with Firebase (Google cloud), view their online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Run flutter pub get to download dependencies. Build the application by running flutter run.

or run and debug sidebar, click run (icon).

Testing

Integration tests

To run integration tests: flutter run integration_test/init_test.dart

Upgrade pubspec

flutter pub upgrade --major-versions

Run on device

Open run and debug sidebar, click run (icon).

Building apk

flutter build apk

Building ipa

Change bundle identifier to ng.monthly.monthly

flutter build ipa

Building web

Change bundle identifier to ng.monthly.monthly

flutter build web

Production Deployment Sequence

  • update version (pubspec & app store connect)
  • remove // (.*) (?!imports:) (unneccesary imports)
  • remove print statements
  • remove assert
  • clear todo
  • clear console problems
  • flutter pub run import_sorter:main
  • flutter pub run build_runner build --delete-conflicting-outputs;
  • (ios only) running -> general -> version and build
  flutter clean
  flutter pub get
  flutter build appbundle
  flutter build ipa

Staging

Changes are deployed to the staging environment after a PR is merged into the dev branch

Production

Changes are deployed to the production environment after a release is created, click here to create a release, see releases section

Releases

Naming Convention

Use the application version and build number. vAppVersion+AppBuildNumber

  • AppVersion (gotten from pubspec file) - 1.0.8

  • AppBuildNumber (gotten from pubspec file) - 6

Example:

1st release: v1.0.8+6

  • Increase major version after a major rewrite. (1 in above example)
  • Increase minor version after adding a feature. (0 in above example)
  • Increase bug version for bug fixes. (9 in above example)
  • Increase build number for every production release. (7 in above example)