🐕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!
- 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.
🚀Next.js with Typescript
🚀Redux for state management
🚀Responsive UI
🚀Reusable components
🚀User-friendly error page
🚀Optimized performance
🚀Unit tests with 90% test coverage
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
Xintong Mi