β±οΈ 5-minute setup. No experience needed.
You need:
- β Docker installed (Get it here)
- β Code editor (VS Code recommended)
- β Terminal/Command Prompt
- β Internet connection
Verify Docker is installed:
docker --version
docker-compose --versionShould show version numbers. If not, install Docker first.
cd instant-eats
.\start.batcd instant-eats
./start.shcd instant-eats
docker-compose up -dWhat's happening?
- Docker downloading images (~5 min first time)
- Starting 13 containers (databases, services, frontend)
- All services initializing
Wait for completion message:
π Instant Eats Platform is starting!
Open terminal and run:
# Check if services are healthy
curl http://localhost:3000/health
curl http://localhost:3001/health
curl http://localhost:3002/health
curl http://localhost:3003/health
curl http://localhost:3004/health
curl http://localhost:3005/healthShould see {"status":"healthy",...} for each service.
Open in browser:
| Service | URL |
|---|---|
| API | http://localhost:3000 |
| Frontend | http://localhost:5173 |
| Nginx | http://localhost |
| RabbitMQ | http://localhost:15672 |
curl -X POST http://localhost:3000/auth/register \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "password123",
"firstName": "John",
"lastName": "Doe",
"phoneNumber": "+1234567890",
"role": "customer",
"city": "san-francisco"
}'Expected response:
{
"success": true,
"message": "User registered successfully",
"data": {
"userId": "...",
"email": "user@example.com",
"role": "customer"
}
}curl -X POST http://localhost:3000/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "password123",
"city": "san-francisco"
}'Expected response includes JWT token:
{
"success": true,
"message": "Login successful",
"data": {
"userId": "...",
"email": "user@example.com",
"token": "eyJhbGciOiJIUzI1NiIs..."
}
}Copy this token! You'll need it for other requests.
- Read README.md - Architecture overview
- Read DEVELOPER_CHECKLIST.md - API examples
- Check FILE_INDEX.md - Navigate all files
# See all service logs
docker-compose logs -f
# See specific service logs
docker-compose logs -f order-servicedocker-compose downdocker-compose restartdocker-compose down -v
docker-compose up -d# Stop other Docker containers or change port in docker-compose.yml
docker stop <container-id># Wait 30 seconds for databases to initialize
sleep 30
docker-compose ps # Check all are running# Restart Docker Desktop or the Docker service
# On Mac: Click Docker icon β Restart
# On Windows: Services β Restart Docker# Wait 15 seconds and try again
docker-compose restart rabbitmqβ 7 Microservices - All running and communicating β 3 Database Shards - PostgreSQL distributed by region β MongoDB - For restaurant data β Redis - For caching and real-time data β RabbitMQ - For event streaming β Load Balancer - Nginx handling traffic β Frontend - React app ready for customization
Download API testing tool for easier request management:
Import the endpoints from DEVELOPER_CHECKLIST.md
# Watch Docker resource usage
docker statsPostgreSQL Shard A:
psql postgresql://postgres:postgres@localhost:5432/shard_aMongoDB:
mongo "mongodb://root:mongodb@localhost:27017/restaurants?authSource=admin"Redis:
redis-cli -h localhost -p 6379Quick Start (this file)
β
README.md (What is this?)
β
SETUP_GUIDE.md (How to run it?)
β
DEVELOPER_CHECKLIST.md (How to build with it?)
β
IMPLEMENTATION_NOTES.md (How does it work internally?)
β
FILE_INDEX.md (Where is what?)
Day 1: Explore
- Run the system
- Make test API calls
- Browse RabbitMQ management UI
Day 2: Understand
- Read README.md
- Read IMPLEMENTATION_NOTES.md
- Map out the architecture
Day 3: Code
- Follow DEVELOPER_CHECKLIST.md
- Add a new API endpoint
- Test it end-to-end
Week 2: Build
- Implement business logic
- Add validation
- Add tests
# Clean slate
docker-compose down -v
docker-compose up -d# Very detailed logs
docker-compose logs --follow --timestamps- Check DEVELOPER_CHECKLIST.md β Troubleshooting section
- Check service logs:
docker-compose logs service-name - Verify Docker Desktop is running
- Try restarting Docker
When you see these, you're good:
- All services showing "healthy" on /health endpoints
- RabbitMQ management accessible at localhost:15672
- Can register and login users
- Docker ps shows 13 containers running
# You're ready when you can run this:
curl http://localhost:3000/healthAnd see:
{
"status": "healthy",
"service": "api-gateway",
"timestamp": "2025-11-15T10:30:00.000Z"
}β Read README.md to understand the system
β Read DEVELOPER_CHECKLIST.md for API examples
β Explore IMPLEMENTATION_NOTES.md for deep dive
β Start building! π
Generated: November 15, 2025 Project: Instant Eats - Real-Time Food Delivery System Estimated Setup Time: 5 minutes (first run may take longer for image download)