A pet adoption platform with a full interaction cycle: listings, real-time chat, user verification, and moderation.
- Pet listings: create, edit, archive, delete.
- Real-time chat between listing owners and adopters.
- Roles and verification: user, volunteer, shelter, admin.
- Reports and moderation: ad blocking, user bans, content control.
- Favorites for quick access to saved listings.
- Next.js (SSR) for public pages, Go API for
/api/*. - ECS on EC2 behind ALB; TLS via ACM.
- RDS Postgres, ElastiCache Redis, S3, SES.
Backend: Go, Echo, PostgreSQL, Redis, AWS S3, AWS SES, JWT, Goose, Swaggo.
Frontend: Next.js, React, TypeScript, Tailwind CSS, Shadcn UI, TanStack Query, Zustand.
- backend/README.md — API server, migrations, integrations.
- frontend/README.md — client app, UI, state, data fetching.
- Copy env files:
- backend/.env.example -> backend/.env
- frontend/.env.example -> frontend/.env
- Run the full stack with Docker:
docker compose -f docker-compose.dev.yaml up --build
- Or run separately:
- infrastructure:
docker compose -f backend/compose.yaml up -d - backend:
make -C backend run - frontend:
make -C frontend dev
- infrastructure:
GitHub Actions builds the backend, builds Docker images, pushes them to ECR, and updates ECS Task Definitions with a rolling update.
MIT License — see LICENSE.