LucasLima939 / skywatch-project

Using SkyWatch you can check out the current weather for your localization, see the forecast for the next 4 days and share short videos showing the current weather.

Home Page:https://www.figma.com/file/h1ZoyPKTIGRGXfVwYH6WJP/SkyWatch-(FoxBox)?type=design&node-id=0%3A361&mode=design&t=fsFKnHapC4GV3en9-1

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

What's SkyWatch

SkyWatch is a cross-platform application developed using Flutter framework and it runs on the Android & iOS platforms.

Using SkyWatch you can check out the current weather for your localization, see the forecast for the next 4 days and share short videos showing the current weather.

Dependencies

UI Reference

For compare the final UI with the designed UI/UX see Figma's SkyWatch project, which presents detailed components and color palettes.

About the project

This project follows the Clean Architecture Pattern to separate each responsibility correctly.

The most intern layer is the entities' layer where we define the model's interfaces, then we have the use cases' layer where we define the actions the app can perform, the presenter's layer where we receive and transform data, and the most external is the UI layer where we update the events on screen.

Clean Architecture

The project is composed by one single module, Home Module, but the modular composition allows us to add new modules in the future. Each module is independent by itself and global dependencies are injected by the CoreModule.

We're using Modular Package as router and dependency injector.

The folder structure organize the project as: data, domain and presentation. In order to follow the Clean Architecture for Flutter.

Folder Structure

Some implemented Design Patterns in this project:

  • Adapter;
  • Interface;
  • Singleton;
  • Factory;
  • Builder;

The project uses Bloc as State Manager and it allows a robust management with easy mantaininment. Bloc receives events and emits states, updating the pages with BlocBuilders & BlocListeners.

Coding Principles

The SOLID principles and others are extremely important to any project to follow, it makes the code more readable, the project scalable and easier to maintain.

SOLID Principles

Tests

You can find some tests structures on the /test folder. The folder follows the src folder structure to make easier the identification.

About

Using SkyWatch you can check out the current weather for your localization, see the forecast for the next 4 days and share short videos showing the current weather.

https://www.figma.com/file/h1ZoyPKTIGRGXfVwYH6WJP/SkyWatch-(FoxBox)?type=design&node-id=0%3A361&mode=design&t=fsFKnHapC4GV3en9-1


Languages

Language:Dart 97.8%Language:Ruby 1.4%Language:Swift 0.7%Language:Kotlin 0.1%Language:Objective-C 0.0%