Real-time forecasts with stunning visuals and precision.
This project is Flutter application that displays current weather information, handles network requests, and manages state efficiently using flutter_bloc
. It utilizes retrofit
for network calls, get_it
and injectable
for dependency injection, and freezed
for immutable object management.
Note: This project uses Flutter version 3.27.2. For managing multiple Flutter versions, consider using FVM (Flutter Version Management).
This app uses the following APIs:
- OpenWeather API: Used for fetching current weather data and forecasts
- Requires an API key from OpenWeather
- Free tier allows up to 60 calls/minute
- Add your API key to
.env
file asWEATHER_API_KEY=your_key_here
- API Ninjas City API: Used for city search functionality
- Requires an API key from APINinjas
- Free tier allows up to 10000 calls/month
- Add your API key to
.env
file asCITY_API_KEY=your_key_here
Note: Create a
.env
file in the root directory and add your API keys. See.env.example
for the required format.
- Flutter SDK (>=3.6.0 <4.0.0)
- Dart SDK (>=3.6.0 <4.0.0)
-
Clone the repository:
git clone https://github.com/betapundit/skyris.git cd skyris
-
Install the dependencies:
flutter pub get
-
Run build runner:
dart run build_runner build --delete-conflicting-outputs
Run the app on an emulator or connected device: