Skip to content

ristekoss/ulaskelas-frontend

Repository files navigation

👨‍💻 Ulas Kelas

Generic badge Generic badge test Deploy Web codecov Generic badge Generic badge Generic badge

Ulas Kelas app

⚡️ Getting Started

🚚 How to run, drive, and build Apk

Example how to run release development app

flutter clean
flutter pub get
flutter run -t lib/main_development.dart --release --flavor development

Example how to build release development app

flutter clean
flutter pub get
flutter build apk -t lib/main_development.dart --release --no-shrink --flavor development --split-per-abi

Example how to build bundle release production app

flutter clean
flutter pub get
flutter build appbundle -t lib/main_production.dart --release --no-shrink --flavor production

Example how to run flutter web app

flutter run -t lib/main_development.dart -d chrome

Example how to drive automation test on development environment note that automation test doesn't support release mode

flutter drive -t test_driver/app.dart --flavor development

⚙️ Supported Flavor

  1. development
  2. production

🎯 Architecture & Pattern

Reso coder's fllutter clean architecture How to communicate with Data & Back end

alt text

🧬️ State Management

Using state rebuilder for zero boilerplate state management

visit https://pub.dev/packages/states_rebuilder

API Documentation

Postman

How to import collection here

More Postman tutorial here

Versioning

Major-Minor-Patch

Given a version number MAJOR.MINOR.PATCH, increment the:

  1. MAJOR version when you make incompatible API changes,
  2. MINOR version when you add functionality in a backwards compatible manner, and
  3. PATCH version when you make backwards compatible bug fixes. Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

and also supported by cider.

to patch: cider bump patch --bump-build or make patch to minor: cider bump minor --bump-build or make minor to major: cider bump major --bump-build or make major

🔠 Naming Convention

snake_case for file and folder.

🔠 Git flow

Commit rules: (feat|fix|docs|style|refactor|perf|test|build|ci):/*

feat: A new feature fix: A bug fix docs: Documentation only changes style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) refactor: A code change that neither fixes a bug nor adds a feature perf: A code change that improves performance test: Adding missing tests build: Changes to the build/compilation/packaging process or auxiliary tools such as documentation generation ci: Changes in the continuous integration/delivery setup

examples: feat: Form Login ci: refactor analysis job

before push

  1. flutter analyze
  2. flutter test

branch rules: (feature|hotfix|coldfix|service|integration|ui)//*

How to contribute

To help work on this project, please refer to CONTRIBUTING.md