A microservice-based, Tinder-style cat adoption platform featuring card-based liking, location-based recommendations, and Dockerized deployment using Node.js, React, and MongoDB.
Live Site: Live site was taken offline 2/25/2026 to support the deployment of newer projects that reflect my ability more accurately. Documentation of all microservices and main project are still accurate and up to date, but local deployment is now the only supported deployment method.
Built with:
- React + Tailwind CSS (Frontend)
- Node.js, Express, and MongoDB (Backend APIs)
- Docker Compose (Deployment)
Follow these steps to clone and run the full CatCall app locally.
git clone https://github.com/zandonella/CatCall.git
cd CatCallClone this repository into the main repository folder
git clone https://github.com/zandonella/CatCall-Frontend.gitCatCall is composed of five microservice backends. Clone each repository into the main repository folder
git clone https://github.com/zandonella/cat-database-microservice.git
git clone https://github.com/zandonella/favorites-microservice.git
git clone https://github.com/zandonella/preferences-microservice.git
git clone https://github.com/zandonella/recommender-microservice.git
git clone https://github.com/zandonella/auth-microservice.git| Service | Description | View API Endpoints |
|---|---|---|
CatCall-Frontend |
React frontend | – |
cat-database-microservice |
Cat data and image storage | Link |
favorites-microservice |
Manages user favorites/likes | Link |
preferences-microservice |
Stores user preference settings | Link |
recommender-microservice |
Generates match recommendations | Link |
auth-microservice |
Auth routes | Link |
Make sure each service is placed in the directory path expected by
docker-compose.yml.
While each microservice has its own .env file, only the main repository
requires a .env file to run locally when using Docker Compose from this root
project.
Refer to the .env.example file in this repository for the required variables,
then create a .env file in the root directory:
cp .env.example .envUpdate the values as needed for your local environment.
docker-compose up --buildOnce the services are built and running, visit: