Skip to content

xintongmi/dog-finder

Repository files navigation

Description

🐕Dog Finder is a website (Dog Finder) to help dog lovers search through a database of shelter dogs and find their new furry family members!

Demo

ezgif-com-optimize-1

Technologies

React Next.js Typescript Redux Jest Tailwind CSS !Material UI

Features

  • A landing page with a sign-in button to navigate users to the sign-in page.
  • A sign-in page that allows users to sign in with their name and email.
  • Once signed in, users will be redirected to the dog board page.
  • On dog board page, users are able to -
    • browse dogs with their name, photo, breed, age and zip code.
    • filter dogs by breeds, zip codes, min age and max age.
    • sort results by breed ascending/descending and age ascending/descending.
    • select different pages of results.
    • select their favorite dogs and get a matched dog.
    • share dogs on social media.
    • sign out and leave the dog board.
  • Shelter owners are able to post dogs.

Highlights

🚀Next.js with Typescript

🚀Redux for state management

🚀Responsive UI

🚀Reusable components

🚀User-friendly error page

🚀Optimized performance

Screen-Shot-2023-07-15-at-18-01-20

🚀Unit tests with 90% test coverage

Screen-Shot-2023-07-05-at-18-43-57

Getting Started

First, clone the repo to your local:

git clone https://github.com/XintongTheCoder/dog-finder.git

Then cd to the project root directory and install all the dependencies:

cd dog-finder
npm install

Last, run the development server:

npm run dev

🎉Voila!🎉 Open http://localhost:3000 with your browser to see the page.

To Run test:

npx jest --coverage

Contributor

Xintong Mi