Weather app is a design implementation of Weather Forecast App, designed by Maulana Farhan Najib.
Weather App is an Android-only application, built with Flutter, as a study of Flutter. I have tried to collect all features of the original design, but some I did not found useful, like notifications, which I replaced with a button to show more info about the weather. It uses SQLite to store recent searches and favorite places.
- ✅ Detailed forecast
- ✅ Up to seven days forecast
- ✅ Coverage from anywhere
- ✅ Multi-language (JA, PT, EN, ES, AR)
- ✅ Custom icons for each weather condition
- Implement Hive DB
- Implement search by speech
- Add more languages
- Add notification system
- Add home screen widgets
- Add dark mode
- Add settings page
- Add splash page
- Add button to check updates (or smth)
- Translate README to PT-BR
lib/
├── main.dart
├── database/
│ └── database.dart
├── l10n/
│ ├── app_en.arb
│ ├── app_es.arb
│ ├── app_ja.arb
│ └── app_pt.arb
├── models/
│ ├── details_arguments.dart
│ └── place.dart
├── pages/
│ ├── forecast_page.dart
│ ├── home_page.dart
│ ├── map_page.dart
│ ├── no_gps_page.dart
│ └── search_page.dart
├── services/
│ ├── geo_api.dart
│ └── weather_api.dart
├── utils/
│ └── utils.dart
└── widgets/
├── card_forecast.dart
├── card_info.dart
└── card_weather.dart
- Flutter
- OpenWeatherMap API
- SQLite database
- Shared Preferences
- Google Maps API
- Google Place API
- weather: link
- google_fonts: link
- geolocator: link
- material_floating_search_bar: link
- sliding_sheet: link
- weather_icons: link
- intl: link
- flutter_dotenv: link
- geocoding: link
- google_maps_flutter: link
- google_place: link
- sqflite: link
- path: link
- dropdown_search: link
- shared_preferences: link
- sizer: link
Before beginning, make sure you have installed Flutter.
Clone the repo to your local computer
$ git clone https://github.com/samuel-s-marques/weather-app
Access the project's folder in your cmd/terminal
$ cd weather-app
Fulfill the .env.example file with your API keys and remove the .example from the file
API_KEY= openweather map api key
GOOGLE_PLACE_API_KEY= google place api key
Add the following line on android/local.properties file
MAPS_API_KEY= your google maps api key
For OpenWeatherMap API, check this link. For Google APIs, check this link
Now you can open the project with VSCode or Android Studio and build it.
I welcome and encourage all pull requests. It usually will take me within 24-48 hours to respond to any issue or request.
"Weather Forecast App" by Maulana Farhan Najib is licensed under CC BY 4.0.
Mockups provided by Previewed.
Icon provided by FreeIconsPng.