Sample Flutter Project for the Recruitment Process.
Order | Date | Start | End | Description |
---|---|---|---|---|
1. | 18 Dec 21 | 10:40 AM | 11:00 AM | project requirements details added to the ReadMe file |
2. | 19 Dec 21 | 11:50 PM | 12:30 AM | folders and files of project createad |
3. | 20 Dec 21 | 11:50 AM | 4:00 PM | project is coded without test and not intented to make codes perfect just I wanted to make app working |
4. | 21 Dec 21 | 10:50 AM | 11:50 AM | some small cleaning and fixing |
5. | 21 Dec 21 | 12:15 PM | 1:30 PM | writing unit tests |
6. | 21 Dec 21 | 1:40 PM | 2:00 PM | some small cleaning and fixing |
7. | 21 Dec 21 | 2:20 PM | 3:00 PM | screenshots added to the readme file |
- Readability: Class and method names should clearly show their intent and responsibility.
- Maintainability
- SOLID Principles.
- ViewController should not know too much explicit knowledge about non-UI Classes.
- We do not like long methods or classes. Let alone huge ViewController classes.
- Scalability:
- Your software should easily accommodate possible future requirement changes.
- If you are asked to change to XML-based API instead of JSON
- If you are asked to use a different persistent store (Core Data, SQLite, iCloud, FMDB)
- If you are asked to use different domains for listing or images, different URL configurations for listing or image.
- Testability: Tests are great, but testability is more important.
- Please Unit Test all non-UI classes. Mocking, Stubbing, TDD if possible.
- Please handle all types of errors, which could occur.
- Instructions:
- The code should not contain any warnings or errors.
- The app should support all both OS (Android, iOS).
- You may use external libraries or tools for building or testing purposes. If you're using anything that's not written by you, mention it.
- As a user list the Country List Screen
- When the Country list screen is loaded
- Then, I should see the country list screen with the name
- As a user at the Country List Screen,
- When I scroll to the top of the list
- Then I should see the search bar
- As a user at the Country List Screen,
- When I focus the search bar
- Then I should be able search countries
- As a user at the Country Detail Screen
- When the screen is loaded
- Then I should see the country statistics details (you can specify any detail)
- Please create a repo from GitHub or GitLab
- Share this repo with this email address: email@company-web-site and this must be a public repo
- You have the 3 days complete these steps (the weekend is not adding to the time limit.)
- We want to follow each commit, please commit each step
API Documentation: https://api-sports.io/documentation/covid-19/v1
API Key: API_KEY
Base URL: https://covid-193.p.rapidapi.com/
If you have an API Key problem when you try, you can create a new one from rapid API. And you can find more information about API Key on docs
You have to use only /countries and /statistics endpoints
If the API key doesn’t work you can follow the introduction on API documentation and you can create a custom one for yourself
Sources:
- Flutter REST API Crash Course
Inspired to my api service
- json to dart
Used to create my data models
- Covid-19-Flutter-UI
Used most of codes from there to create country detail page
- Scalable Folder Structure for Flutter Applications