Adopet is a web app to make easier to animal shelters to find a new home for their animals.
- Thousands of animals need a home
- Shelters don’t have the money to advertise themselves or to even maintain their own animals
- Shelters struggle to find the perfect adopter for their animals
TypeScript is used throughout the project
FRONTEND:
- Svelte - Lightning-fast frontend framework
- Vite - Lightning-fast bundler to accompany Svelte
- Google Maps API - API to calculate distances between animals and adopters
- Socket.io - Low-latency webSocket communication for messaging
- Cloudinary - Image storage
- Cypress - End-to-end testing
BACKEND:
- NodeJS
- Express - NodeJS backend framework
- Docker - Collaborative development
- AWS - Deployment
- PostgreSQL - Relational Database
- Sequelize - ORM
- Supertest - testing
You can view a live demo of this project at adopet.live
or run it locally following the steps below:
- VITE_API_URL: URL to the back end API p.e. http://localhost:4000/api
- VITE_GOOGLE_MAPS_API_KEY: Google Maps API Key
- VITE_GOOGLE_CLIENT_ID: Client ID of your Google OAuth application
- VITE_GOOGLE_CLIENT_SECRET: Client secret of your Google OAuth application
First of all you have to install node dependencies
npm iThen run the app
npm run devYour app by default should be running in http://localhost:5173/
-
PORT: The port the server will run in
-
DATABASE_URL: The connection URL for the database (only tested in postgres and it has to be a SQL DB). If you're running the postgres container declared in docker-compose this must be "postgres://postgres:postgres@postgres:5432/adopet"
-
TOKEN_KEY: The key that will be used to encrypt the tokens
-
ENVIRONMENT: The environment the app is in (production or development)
-
GOOGLE_SECRET: Client secret of your Google OAuth application
-
GOOGLE_EMAIL: The email of the owner of your Google OAuth application
-
ADMIN_TOKEN: The admin token in the database
-
GOOGLE_TOKEN: Token for an existing google account in the database
-
GOOGLE_TOKEN_NON_EXISTING: Token for a non existing google account in the database
-
GOOGLE_USER_ID: Google ID to create an account with
First of all you have to install node dependencies
npm iThen run the app
npm run docker:composeYour app by default should be running in [http://localhost:[ENV-PORT]/]
