GitHub Readme Stats

Ravn Code Challenge

Technical test for the position of Sr. Flutter Developer

Issues GitHub pull requests version documentation twitter


Mobile Design


Web Design


Goals

Develop an application consuming APIs that allows validating the knowledge of the candidate.

Applied Concepts

  • State management with Cubit
  • Dependency injection with Get_it
  • Implementation of Clean Architecture with Flutter
  • API requests using HTTPS
  • Validate if a device has internet access
  • Unit Tests
  • Code coverage
  • The programming principles S.O.L.I.D.
  • Folder structure
  • Implementation of use cases
  • Repository pattern and its data sources
  • Responsive design for web and phones

Architecture

For this project I decided to use a clean architecture model divided into three layers: data, domain and presentation (UI), the common elements are found in the core layer.



Data flow



Dependency Rules



How to install?

This is a project made with Flutter, you must first download the framework from here.

Run these commands in your terminal

Launch an emulator or connect an android or iOS device to your pc

git clone https://github.com/deus-magna/ravn_code_challenge
cd ravn_code_challenge
flutter packages get
flutter run

If you want to run this project on web run this command:

$ flutter run -d chrome

For more examples you can see the online documentation, with tutorials, examples, development guides, and the API documentation.