An concept application to help match people and pets together ❤️.
Pet Adoption Application is a platform designed to connect pet lovers with animals in need of a forever home. The application provides detailed information about pets available for adoption and allows users to submit applications to adopt. Browse pets available for adoption by location and breed. View detailed information about each pet, including photos and description.
To run the application locally, follow these steps:
- Clone the repository:
git clone https://github.com/[username]/pet-adoption-app.git
- Install the dependencies:
npm install
- Start the application:
npm start
- (Optional) Type in the location.
- Select animal type.
- Select breed type.
- Click the "Submit" button - The application will automatically show you available animals.
- Click on an animal for more details.
- Click on the "Adopt" button. (Functionality coming soon!)
- Return to the main screen by clicking the top banner.
- React library for building project user interface utilizing reusable components and API malformatted data error-boundary.
- React-Router for client-side rendering reducing calls to server and improving user experience via page browsing speed.
- React-Query for handling asynchronous state management (fetching, caching, synchronizing, and updating server state).
- Node.js/Express.js for serving of application in a split manner and server side rendering.
- Vite for code organization and stiching files together, including third party libraries from npm, and optimizing code.
- API: Fake API (to be replaced with a suitable database)
- Portals: Use of portals to create modal in details page upon clicking on "Adopt Me".
- Lazy Loading and code splitting website to improve application loading times and user experience.
- Tailwind for class styling.
- TypeScript for statically typed code and error detection during refactoring/maintenance.
- Redux for taking over state management in the application (Currently managed by React).
- Vitest & happy-dom for unit and system testing.
- TrackJS or NewRelic for API error logging.
Pet Adoption Application is open-source and contributions are welcome. If you'd like to contribute, please follow these guidelines:
- Fork the repository
- Create a new branch with a descriptive name
- Make changes and test thoroughly
- Submit a pull request
Please note that this application is a concept utilizing a fake API and none of the pets are available for adoption. The API will need to be replaced with a suitable database for the application to be functional.
Pet Adoption Application is licensed under the MIT License.