Production-grade event-driven food delivery platform built with Go microservices and Apache Kafka
# 1. Start infrastructure
cd docker && docker-compose up -d && sleep 60
# 2. Initialize database
docker exec -i swifteats-postgres psql -U swifteats < init-scripts/postgres/01-init.sql
# 3. Create Kafka topics
cd .. && ./scripts/create-topics.sh
# 4. Start microservices
./scripts/start-go-services.sh
# 5. Test all features
./scripts/test-all-features.sh✅ Platform is now running!
👉 FEATURES_GUIDE.md - Quick Reference for All Features
- API examples and usage
- Fraud detection rules
- Event streaming guide
- Testing and troubleshooting
👉 ARCHITECTURE.md - Architecture & Flow Diagrams
- System architecture diagrams
- Service architecture breakdown
- Data flow diagrams
- Kafka topics & event flow
- Database schema & Redis structure
Setup & Operations:
- GETTING_STARTED.md - Basic setup and usage
- COMPLETE_FEATURE_GUIDE.md - Detailed feature documentation
- PORT_CONFIGURATION.md - Service port mappings
Observability:
- FLUENT_BIT_VALIDATION.md - Real-time log streaming setup
- KIBANA_GUIDE.md - Elasticsearch & Kibana monitoring guide
- LOGGING_METRICS_ARCHITECTURE.md - Logs vs Metrics explained
Reference:
- FIXES_SUMMARY.md - Technical changes and bug fixes
| Service | Port | Purpose |
|---|---|---|
| Order Service | 8081 | Order lifecycle, saga orchestration |
| Payment Service | 8082 | Payment processing, refunds |
| Driver Service | 8083 | GPS tracking, driver assignment |
| Fraud Detection | 8085 | Real-time fraud analysis |
✅ Saga Pattern - Distributed transactions
✅ Outbox Pattern - Guaranteed event delivery
✅ CDC - Change Data Capture
✅ CQRS - Command Query Separation
✅ Event Sourcing - Immutable events
✅ DDD - Domain-Driven Design
- Apache Kafka (3-node cluster, 19 topics)
- PostgreSQL 16 (CDC enabled)
- Redis 7 (caching)
- Elasticsearch + Kibana (logging)
- Prometheus + Grafana (monitoring)
- Schema Registry (Avro schemas)
Order Management: 9-state lifecycle, automatic pricing, cancellations
Payment Processing: Multiple methods, idempotency, refunds
Driver Tracking: Real-time GPS, WebSocket streaming, nearest matching
Fraud Detection: 3 detection rules, risk scoring, customer profiling
# Automated feature tests
./scripts/test-all-features.sh
# Integration tests
./scripts/integration-test.sh
# Manual API test
curl -X POST http://localhost:8081/api/orders \
-H "Content-Type: application/json" \
-d '{ "customerId": "...", "items": [...] }'- Kafka UI: http://localhost:8080
- Grafana: http://localhost:3000 (admin/swifteats)
- Prometheus: http://localhost:9090
- Kibana: http://localhost:5601
Service Logs:
tail -f /tmp/order-service.log | jq .Go 1.21+ • Kafka 3.6 • PostgreSQL 16 • Redis 7 • Elasticsearch 8.12
This project demonstrates real-world patterns used by:
- Uber Eats (order orchestration)
- DoorDash (driver matching)
- Netflix (event-driven architecture)
- Amazon (saga pattern)
Perfect for learning:
- Distributed systems
- Event-driven architecture
- Microservices communication
- Real-time data processing
- Production deployment patterns
Status: Production Ready ✅
Last Updated: December 27, 2025
📘 For complete details, see COMPLETE_FEATURE_GUIDE.md