Code Monkey home page Code Monkey logo

fetch-frontend-take-home's Introduction

Fetch Frontend Take-Home Exercise: DogMatcher

This is a simple single page React app that helps dog-lovers search through a database of shelter dogs, with the hope of finding a lucky dog a new home!

It allows the user to search by breed and age range. They can 'favorite' the dogs they like. Then they can be automatically matched with a dog from their favorites list.

The project was scaffolded with Vite. Material UI was used for styling. It was deployed using Vercel and can be previewed via this link.

Local Development: Installing / Getting started

To run the app in development mode:

you'll need Node and npm or yarn installed. Use git to clone the project into a local directory. In the project directory, you can run one of the following commands in the terminal:

npm run dev

or

yarn dev

which starts the app in the development mode.
Open http://localhost:5173 to view it in your browser.

To build the app for production run:

npm run build

or

yarn build

The build will be saved to the dist folder.

To preview the production build you can then run

npm run preview

or

yarn preview

Preview mode can be viewed in local browser at http://localhost:4173

Backlog:

This is version 0.0.1 of the DogFinder app. Here are some of the known bugs and some 'nice-to-have' features that should be released in future versions, in no particular order:

  • Add routing (e.g. React Router)
    • to improve the user experience. Allow for bookmarking, using the browser forward/back buttons, putting filters in the URL etc.
  • Use the Location API to display more data to the user than the zip code. e.g. state, distance away, etc.
  • Filters for location
    • facets would be a nice-to-have also
  • Add empty message when there are no results
  • Validations on age filters
    • e.g. shouldn't be able to select 'Older than 8' and 'Younger than 7' at the same time
  • Better test coverage
    • setup issues with Vite and Jest need to be worked out
  • Fallback image in the case of a missing/broken image
  • Display total number of favorites selected
  • Add a filter to view only favorites

fetch-frontend-take-home's People

Contributors

daniel-doughty avatar

Watchers

James Cloos avatar  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.