GitHunt
RI

ristekoss/ulaskelas-frontend

Front End Repository for Ulas Kelas

๐Ÿ‘จโ€๐Ÿ’ป 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