ETIQA TODOLIST
Mobile App Developer Assessment by ETIQA IT
- This app’s state management, navigation & dependencies management is rely on GetX package
- Some simple validations were setup on the form to add new todo.
- Title: Minimum length of 5
- Start Date: Must be smaller than or equal to end date
- End Date: Must be larger than or equal to start date
Demo
Project Structure
├── lib
│ ├── constants
│ ├── controllers
│ ├── models
│ └── screens
│ └── todo (consists of todo module screens)
│ ├── utilities (consists of common utility functions which can be used by all modules)
│ └── widgets
│ ├── common (consists of common widgets which can be used by all modules)
│ └── todo (consists of widgets to be used by todo module)
└── test
├── controllers (consists of unit test for controllers)
└── utilities (consists of unit test for utility functions)
Unit test
- Some simple unit tests are created in test directory for demo purpose.
- To execute all the unit tests, simply run
flutter test
in the terminal. - To execute an individual unit test file, run
flutter test test/{folder_name/file_name}
in the terminal. eg:flutter test test/controllers/manage_todo_controller_test.dart
Continuous Integration
- A simple CI/CD was setup with codemagic. New build will be triggered by every new push or pull request completed on this repository.