Skip to content

FultonG/Dog-Adoption

Repository files navigation

Fetch Adoption App

Netlify Status

Visit the deployed application here

There's also a small video showcase of it while it was still in development

youtube-thumbnail

This is a Vite-based React project that uses TypeScript. This guide will help you set up and run the application locally.

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (version 14.0 or higher)
  • npm or Yarn (Node package managers)

To check if you have them installed, run the following commands:

node -v
npm -v

Installation

First start by cloning the repo

git clone https://github.com/FultonG/Dog-Adoption.git

Next navigate to the repository

cd Dog-Adoption

Install the required node modules by running

npm install

To run the application locally run

npm run dev

The application should now be available on the default port

http://localhost:5173/

Project Decisions

This project was built with Vite, React, and TypeScript, and Vite's setup guide made it super easy to get started.

For styling, I used Tailwind CSS instead of a component library. It was my first time using Tailwind, and I wanted to learn it—though some of the class usage might feel a bit rough as I was still getting the hang of it.

Instead of using a utility library like Lodash, I implemented some custom utilities myself, like the debounce function. It helped me focus on the specific functionality I needed, and I’m particularly proud of the search box (though there's always room for improvement).

In a real-world app, I'd definitely rely on libraries to speed up development, especially something like Orval to generate a RESTful client.

For app deployment I was originally going to deploy it on GitHub Pages and call it a day but it's much harder to get the application working on it as it would be deployed in a subdomain and honestly I just didn't want to switch from the BrowserRouter to a HashRouter. Instead I opted for keeping the application as is and deploying it to Netlify

Releases

No releases published

Packages

 
 
 

Contributors