weather

Weather application for current weather, hourly forecast for 48 hours, Daily forecast for 7 days and national weather alerts.

How to Run

Features

- Architecture pattern
    - Bloc 
        - Cubit
        - Repository Provider
        - Multi Bloc Provider
        - Bloc Provider
        - Bloc Builder
        - Bloc Consumer
        - Bloc Listener
        - State Management
    - Context Passing
        - Bloc/Cubit context passing in navigation
- Theme
    - Multi Theme
        - Dark
        - Light
    - Typography
- Storage
    - Hydrated Bloc
        - Local Storage with state management
    - Path Provider
- Netwok
    - Interface
        - Interface for http methods
            - Get
            - Put
            - Post
            - Delete
        - Interface implementation for 'Dio' library
    - Data Model
    - Data Provider
        - Respository
        - Services/API Call
    - Parsing
    - Interceptor
        - Auth
        - Token
    - Singleton Instance of netwrok
- Nagivation
    - Navigation with onGeneratedRoute
        - Navigation router name
    - Nagivation service
        - Singleton context
        - Methods
            - Puhs
            - Push and replace
            - Push and remove until
            - Pop
            - Pop to rooot
- Reuseable Widget
    - Button
    - TextFiled
    - Search TextFiled
    - Listview
        - Hourly forcast
        - Daily forcast
        - Favourite card
- Extra
    - Utils
        - Enums
        - Constants
        - Regexp
    - Helper
        - Common function
    - Extension
        - Color
        - Fonts
        - String

Gifs

Dark Light
Alt text Alt text

Screenshot

Light Mode

Alt text Alt text
Alt text Alt text
Alt text

Dark Mode

Alt text Alt text
Alt text Alt text
Alt text

iOS Quicker

iOS Notes here.

Android Quicker

Android Notes here.

Plugins

Plugin and there version used in this repository.

Plugin Pub
flutter_bloc Pub
equatable Pub
hydrated_bloc Pub
path_provider Pub
lottie Pub
flutter_svg Pub
dio Pub
intl Pub

GitHub

View Github