Skip to content

Latest commit

 

History

History

README.md

Horizon - App

The desktop application written in Flutter.

Stack

Architecture

The architecture of this app is based on Reso Coder's Domain Driven Design Principles:

DDD architecture

Application contains all the Use Cases

Domain contains the business logic (entities and validation)

Infrastructure contains the repositories and network calls as well as Data Transfer Objects

Presentation contains all the UI components

Installation

This app was created and tested on Flutter 3.0.1 and Dart 2.17.1 .

cd app
flutter packages get

For debug mode run flutter run and for production mode run flutter run --release

To run the code generator using freezed, run flutter pub run build_runner watch --delete-conflicting-outputs.

If you want to use your own server you will need to change the BaseUrl in InjectableModule.

Note: Instead of localhost you need to specify your IPv4 Address (e.g. 192.168.2.xxx), otherwise the gRPC client won't be able to connect to the server.

Platform specific configuration

This app was created and tested on Windows.

To get it working on other platforms you need to configure the following packages:

Build

  1. Run flutter build windows
  2. Find the files in build\windows\runner\Release

Tests

This repository has a few example tests written to show how you could test the app.

To run them run flutter test.

Credits

Reso Coder: This app's structure is based on his DDD tutorial and the tests are based on his TDD tutorial.

MarcusNg: This app's UI builds upon his YouTube video.

Spotify icons created by Fathema Khanom - Flaticon