Features:
- Location and Weather model to searialize required attributes
- Location repository to find the latitude and longitude of the searching location
- weather repository to find the current weather of the searching location (using lat and lng found by location repository)
- weathers_controller to communicate between UI and repository using
StateNotifier
- Pretty Basic UI with search box at the Appbar, and Result in the center of the body.
Directory Structure
lib
├───constants
├───extensions
├───models
├───presentation
│ ├───controllers
│ └───screens
└───repositories
packages
- http - package to make API calls to weather API: api.open-meteo.com
- flutter_riverpod - state management
features
- It will support length, area, mass, temperature, speed, date and currency conversion
- Currency conversion will be done via API
- I will write date converter library which will convert dates between AD (anno domini) - BS - Bikram Sambat and vice versa
- Use go router for routing
- Use flutter_riverpod for state management and caching