Upstash is a serverless data platform that provides serverless Redis, kafka & QStash.
- Those who are already familiar with JavaScript/TypeScript
 
- Send and receive messages
 - Show current connection count
 
- Create realtime communications with WebSockets
 - Use Redis Pub/Sub to communicate across multiple instances
 - Use Redis to stop data (connection count/ messages)
 - Use Docker and docker-compose to containerize the application
 - Docker multi-stage builds
 - Use GitHub actions to automate CI/CD
 - Graceful shutdowns
 
- Fastify - Backend
 - Websockets - Realtime
 - Next.js - Frontend
 - Tailwind & Shadcn UI - Styling
 - Redis - Pub/Sub
 - Docker/docker-compose - Containerization
 - GitHub actions - CI/CD
 - DigitalOcean - Host the backend
 - Vercel - Host the frontend
 
- Upstash account
 - Node.js
 - Docker & docker-compose
 - An editor - VSCode
 - DigitalOcean account
 - Vercel account
 - Vercel CLI
 - GitHub account
 
- Build backend
 - Dockerise backend
 - Deploy backend
- Create DigitalOcean droplet
 - Configure droplet
 - Write github action
 
 - Build frontend
 - Deploy frontend
 
- Make sure you are using 
wss://and notws://in production - Use debug mode in Caddy server
 
{
    debug
}
- List our running docker containers
 
docker ps- Stop a running container
 
docker stop <container id>- Remove a container
 
docker rm <container id>- List out networks
 
docker network ls- Remove a network
 
docker network rm <network id>