Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lindapaiste/save-a-rescue-js
savearescue.org react code
https://github.com/lindapaiste/save-a-rescue-js
adoption pets react rescuegroups rescuegroups-api
Last synced: about 1 month ago
JSON representation
savearescue.org react code
- Host: GitHub
- URL: https://github.com/lindapaiste/save-a-rescue-js
- Owner: lindapaiste
- Created: 2020-11-21T20:42:01.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-05-23T20:22:56.000Z (over 3 years ago)
- Last Synced: 2023-03-04T01:37:25.652Z (almost 2 years ago)
- Topics: adoption, pets, react, rescuegroups, rescuegroups-api
- Language: TypeScript
- Homepage: https://pets.lindapaiste.com
- Size: 563 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Pet Search
View the current version at [pets.lindapaiste.com](https://pets.lindapaiste.com/).
This code was initially created for [savearescue.org](https://savearescue.org/adoptable-dogs-cats) to power their adoptable dog and cat search.
---
# Stack
## Build
- Created with `Create React App`
- Hosted on `Vercel`
- `craco` used on top of `react-scripts` in order to support custom `.less` stylesheet variables## Packages
- UI with `antd`
- Carousels with `react-slick`
- Navigation with `react-router`
- API fetching with `axios`
- State management with `redux`
- Reducers and `thunk` actions created with `@reduxjs/toolkit`
- Connected to React with `react-redux`
- Text parsing with `he`
- Query string parsing with `qs`
- Basic utilities from `lodash`## External APIs
- All pet data from [`RescueGroups.org`](https://api.rescuegroups.org/v5/public/docs#start-here) v5 REST JSON API.
- Uses both `GET` and `POST` requests, where `POST` requests are used for passing complex search filters.
- Estimated user location from [`IPLocate.io`](https://www.iplocate.io/).
- I built a more accurate "use my current location" button with the web [`Geolocation API`](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API), but the client didn't like this and preferred for users to enter a zip code.