DOGS-IMAGES-DASHBOARD

◦ A webapp for dogs lover.

◦ Developed with the software and tools below.

React TypeScript HTML5 Sass Jest Docker Cypress


📖 Table of Contents


📍 Overview

The dogs-images-dashboard repository is a project that allows users to view and organize images of dogs. The dashboard provides a user-friendly interface for browsing and managing a collection of dog pictures. With its intuitive design and easy-to-use features, this project offers a great solution for dog lovers who want to keep their dog pictures organized and accessible. It use Dog API service.


📦 Features

Feature Description
⚙️ Architecture The codebase follows a component-based architecture using React.js framework. It separates UI components into reusable and interchangeable components such as Card, Carousel, and Header. The codebase also follows a single-page application architecture with a client-side rendering approach.
📄 Documentation The documentation in the repository is limited. There is a README.md file that provides a brief overview of the project, but it lacks in-depth documentation on code structure, architecture, and usage instructions. Additional documentation would be helpful for onboarding new developers and users.
🔗 Dependencies The repository relies on external libraries such as React for frontend development. The package.json file provides a list of all the dependencies along with their version numbers.
🧪 Testing The codebase includes a e2e suit test that use Cypress library

📂 Repository Structure

└── dogs-images-dashboard/
    ├── package.json
    ├── cypress/
    │   ├── downloads
    │   ├── e2e
    │   ├── fixtures
    │   ├── support
    ├── public/
    │   ├── index.html
    │   ├── manifest.json
    │   └── robots.txt
    ├── src/
    │   ├── App.test.tsx
    │   ├── App.tsx
    │   ├── components/
    │   │   ├── Card/
    │   │   ├── Carousel/
    │   │   ├── CustomButton/
    │   │   ├── Header/
    │   │   ├── ImagePlaceholder/
    │   │   ├── ImagesListByBread/
    │   │   ├── ImagesListByBreadAndSubBreed/
    │   │   ├── LazyImage/
    │   │   ├── Loader/
    │   │   ├── RandomBreedDogImage/
    │   │   ├── RandomImageByBreedAndSubBreed/
    │   │   ├── SelectInput/
    │   │   └── Skeleton/
    │   ├── context/
    │   │   ├── Breed.tsx
    │   ├── hooks/
    │   │   ├── useBreedsList.ts
    │   │   ├── useCarousel.ts
    │   │   ├── useImagesListByBread.ts
    │   │   ├── useImagesListByBreadAndSubBreed.ts
    │   │   ├── useLoadImage.ts
    │   │   ├── useRandomBreedDogImage.ts
    │   │   └── useRandomImageByBreedAndSubBreed.ts
    │   ├── index.tsx
    │   ├── pages/
    │   │   └── Dashboard/
    │   ├── react-app-env.d.ts
    │   ├── reportWebVitals.ts
    │   ├── services/
    │   │   └── Dog.ts
    │   ├── setupTests.ts
    │   ├── theme/
    │   │   ├── animations.scss
    │   │   └── root.scss
    │   ├── types/
    │   │   └── index.ts
    │   └── utils/
    │       └── index.ts
    ├── .nvmrc
    ├── cypress.config.ts
    ├── Dockerfile
    ├── tsconfig.json
    └── yarn.lock

🚀 Getting Started

🔧 Installation

  1. Clone the dogs-images-dashboard repository:
git clone https://github.com/stealth90/dogs-images-dashboard
  1. Change to the project directory:
cd dogs-images-dashboard
  1. Install the dependencies:
yarn or yarn install

🤖 Running dogs-images-dashboard

yarn start

🧪 e2e Tests

yarn cypress:open

🎯 Docker image repo


📄 License

This project is protected under the MiT License. For more details, refer to the LICENSE page.

Return