Weather app using Bloc architecture pattern & generic HTTP client with interface implementation

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

Screenshot

Light Mode

Dark Mode

iOS Quicker

iOS Notes here.

Android Quicker

Android Notes here.

Plugins

Plugin and there version used in this repository.

Plugin Pub
flutter_bloc
equatable
hydrated_bloc
path_provider
lottie
flutter_svg
dio
intl

GitHub

View Github