Weather To Rock was developed as a test project for the mobile software engineer position at CloudWalk, this app offers real-time weather updates and forecasts.
- Project Description
- Getting Started
- Prerequisites
- Installation
- Features
- Running the Tests
- Test Coverage
- Built With
- Author
- Contact Information
Weather to Rock is the right choice to check the perfect weather for rock n' roll!
These instructions will help you get a copy of the project up and running on your local machine for development and testing purposes.
Before installing the project, ensure that your system meets these requirements:
Operating System: Windows/Linux to test on Android or MacOS to test on iOS.
Flutter: Version 3.0 or higher.
Follow these steps to set up the project:
Install Project Dependencies:
flutter pub getInstall iOS Dependencies: (MacOS only)
cd ios && pod install --repo-updateSetup Environment:
Rename env.example to .env.
Fill in the environment constants. For testing, use:
API_URL = "https://api.openweathermap.org/data/2.5/"
API_KEY = "466d33491caccc7eeb2b2bacabf94f0c"-
Real-Time Weather Updates: Get the latest weather updates and forecasts for selected city with an internet connection.
-
Offline Access: Save weather data for offline viewing, ensuring access to information even without an internet connection.
-
City Search: Easily search for cities by name to find their current weather conditions.
| Search City | Get Weather | Offline Weather |
|---|---|---|
![]() |
![]() |
![]() |
Unit and Widget Tests:
flutter testThese tests ensure that individual units of the code work as expected.
Integration Tests:
flutter test integration_test/<file_test.dart> -d <DEVICE_ID>These tests check the app's performance as a whole.
To evaluate the test coverage:
flutter test --coverageThen, generate a coverage report:
genhtml coverage/lcov.info -o coverage/htmlOpen index.html in the coverage directory to view the report.
- Bloc - State management
- GetIt - Dependency injection
- GoRouter - Routing
- Dartz - Functional programming
- Http - Networking
Gabriel Peres Bernes
For additional questions or comments, feel free to contact me at:
Email: [email protected]



