# SkillCourt Phone Application

Mobile application for the SkillCourt project

---

## Dependencies

- [Java JRE > 1.8](https://adoptopenjdk.net/index.html?variant=openjdk16&jvmVariant=hotspot)
- [git](https://git-scm.com/)
- [Flutter SDK](https://flutter.dev/docs/get-started/install)
- [Android Studio](https://developer.android.com/studio) or [XCode](https://developer.apple.com/xcode/) with an installed phone emulator
- (Optional) [Visual Studio Code](https://code.visualstudio.com/) with [Flutter Plugin](https://flutter.dev/docs/development/tools/vs-code)
- (Optional) [Python 3](https://www.python.org/downloads/) to run the pad emulator script.

## Installation

1. Clone this repository.
2. Run `flutter pub get` inside the repository to pull the latest dependencies.
3. Run `flutter pub run build_runner build --delete-conflicting-outputs` inside the repository.
4. Run the [`main.dart`](./lib/main.dart) application using the emulator of your choice.
5. (Optional) Install [requirements.txt](./requirements.txt) using `pip` to download all required Python dependencies.

## Contributions

Contributions to the SkillCourt phone application must:

1. Correctly use and pass the `pre-commit` git hook.
2. Properly use [git-flow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) as the Git branching model.
3. Implement all Flutter Widgets in both an Android and iOS style using no platform-specific sub-widgets.
