Giter Club home page Giter Club logo

buddy_app's Introduction

Find Your Buddy

App Demo

This app, "Find Your Buddy," is designed to help you find your perfect furry friend. It utilizes the Dog API to provide a wide range of dog breeds and images.

Features

  • Browse through a variety of dog breeds
  • View images of different dog breeds
  • Search for specific dog breeds
  • Generate random images about specific breeds

Installation

  1. Clone the repository: git clone https://github.com/mevluttosun/buddy_app.git
  2. Navigate to the project directory: cd buddy-app
  3. Install dependencies: flutter pub get
  4. Start the app: flutter run
  5. Start test of code flutter test

Technologies Used

Used Libraries

  • flutter_bloc: Used as state management in Project.
  • auto_route: Generates type-safe routing code for navigation.
  • dio: HTTP client for making network requests.
  • equatable: Simplifies equality comparisons and hash code generation for objects.
  • cached_network_image: Caches network images locally to improve performance and reduce bandwidth usage.
  • get_it: A simple service locator for dependency injection.
  • flutter_svg:Renders SVG (Scalable Vector Graphics) images.
  • modal_bottom_sheet: Provides customizable modal bottom sheets.
  • basic_platform_service: A local package for basic platform services.
  • flutter_native_splash: Generates native splash screens.

In the dev_dependencies section, the listed dependencies are used for development and testing purposes:

  • flutter_test: The Flutter testing framework for writing unit tests.
  • flutter_lints: Provides additional lint rules for analyzing.
  • auto_route_generator: Generates code for the auto_route package to handle routing.
  • build_runner: A build system for generating code.
  • mockito: A mocking library for creating mock objects in unit tests.
  • bloc_test: Provides utilities for testing BLoC components.
  • mocktail: A mocking library.

Folder Structure

└── 📁lib
    └── 📁common
        └── 📁utils
            └── string_utils.dart
        └── 📁widgets
            └── animated_dialog.dart
            └── 📁animations
                └── bounce_in_animation.dart
                └── fade_animation.dart
                └── slide_animation.dart
                └── slide_in_animation.dart
            └── default_spacer.dart
    └── 📁config
        └── 📁theme
            └── app_theme.dart
    └── 📁core
        └── app_dio.dart
        └── 📁constants
            └── asset_paths.dart
            └── constants.dart
        └── 📁resources
            └── data_state.dart
        └── 📁usecases
            └── usecase.dart
    └── 📁features
        └── 📁dog
            └── 📁data
                └── 📁data_sources
                    └── 📁remote
                        └── dog_api_service.dart
                        └── dog_api_service_impl.dart
                └── 📁models
                    └── dog_breed_model.dart
                └── 📁repository
                    └── dog_repository_impl.dart
            └── 📁domain
                └── 📁entities
                    └── dog_breeds_entity.dart
                └── 📁repository
                    └── dog_repository.dart
                └── 📁usecases
                    └── get_breeds_usecase.dart
                    └── get_random_image_by_breed_usecase.dart
            └── 📁presentation
                └── 📁bloc
                    └── 📁dog
                        └── 📁remote
                            └── remote_dog_bloc.dart
                            └── remote_dog_event.dart
                            └── remote_dog_state.dart
                └── 📁pages
                    └── 📁home
                        └── dog_breeds_view.dart
                └── 📁widgets
                    └── breed_detail_widget.dart
                    └── breed_widget.dart
                    └── cached_breed_image_widget.dart
                    └── search_widget.dart
                    └── settings_bottom_modal_widget.dart
                    └── settings_tile_widget.dart
    └── injection_container.dart
    └── main.dart
└── 📁test
    └── 📁features
        └── 📁dog
            └── 📁data
                └── 📁data_sources
                    └── 📁remote
                        └── dog_api_service_test.dart
                └── 📁models
                    └── dog_breed_model_test.dart
                └── 📁presentation
                    └── dog_repository_impl_test.dart
            └── 📁domain
                └── 📁usecases
                    └── get_breeds_usecase_test.dart
            └── 📁presentation
                └── 📁bloc
                    └── 📁dog
                        └── 📁remote
                            └── remote_dog_bloc_test.dart
                └── 📁pages
                    └── 📁home
                        └── dog_breeds_view_test.dart
                └── 📁widgets
                    └── search_widget_test.dart
    └── 📁helpers
        └── 📁dummy_data
            └── dog_breeds_list.dart
            └── dummy_breeds_response.json
        └── json_reader.dart
        └── test_helper.dart
        └── test_helper.mocks.dart

buddy_app's People

Contributors

mevluttosun avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.