A full-stack URL shortener application with a NestJS backend and a Next.js frontend.
- Docker and Docker Compose installed
- Node.js (v20+) and Yarn (if running locally without Docker)
- JWT Keys for Auth
# Generate Private Key and place in backend folder
openssl genpkey -algorithm RSA -out ./backend/jwt-private.key -pkeyopt rsa_keygen_bits:2048
# Extract Public Key and place in backend folder
openssl rsa -pubout -in ./backend/jwt-private.key -out ./backend/jwt-public.keybackend/– NestJS API, Prisma ORM, PostgreSQLfrontend/– Next.js app, Tailwind CSS
This will start the backend, frontend, and a Postgres database:
docker compose up --build- Frontend: http://localhost:3000
- Backend API: http://localhost:3001
- Postgres: localhost:5432
Note: Ensure you have a
.envfile inbackend/with the required environment variables (see backend/README.md).
See backend/README.md for details on running the backend with or without Docker.
See frontend/README.md for details on running the frontend with or without Docker.