Welcome to the StreamFlow documentation! This index will help you find the right documentation for your needs.
- README - Quick start guide and project overview
- Quick Start Example - Working code example
- Learning Guide - Comprehensive educational guide (400+ lines)
- Architecture - System architecture and design
- Developer Guide - Development setup and workflow
- API Reference - Complete API documentation
- Project Structure - Directory layout and organization
- Deployment Guide - Production deployment instructions
- Docker Compose - Containerized deployment
- Implementation Status - What's been built
- Project Structure - Complete file tree
Start here:
- README - Understand what StreamFlow is
- Learning Guide - Deep dive into concepts
- Architecture - How it all works together
- Phase 1: Storage Layer - Log-structured storage
- Phase 2: Network Layer - Binary protocol
- Phase 3: Consumer Groups - Load balancing
Try it out:
Start here:
- Developer Guide - Setup your environment
- Project Structure - Understand the codebase
- Architecture - System design
- API Reference - API contracts
Building and Testing:
Code References:
Start here:
- Deployment Guide - Deploy to production
- Docker Deployment - Containerized setup
- Configuration - Tuning parameters
- Monitoring Setup - Prometheus + Grafana
Operations:
Quick Deploy:
# Docker Compose (easiest)
docker-compose up -d
# Access services:
# - Broker: localhost:9092
# - Admin API: http://localhost:8080/api/swagger-ui.html
# - Prometheus: http://localhost:9090
# - Grafana: http://localhost:3000 (admin/admin)Start here:
- API Reference - Complete API documentation
- Admin REST API - HTTP endpoints
- Producer Client API - Java producer
- Consumer Client API - Java consumer
Examples:
Swagger UI:
# Start admin API
mvn spring-boot:run -f admin/pom.xml
# Open Swagger UI
open http://localhost:8080/api/swagger-ui.html| Document | Description |
|---|---|
| Architecture | Complete system architecture |
| Storage Architecture | Log-structured storage |
| Network Protocol | Binary protocol specification |
| Replication | Leader-follower replication |
| Consumer Groups | Group coordination |
| Document | Description |
|---|---|
| Developer Guide | Complete development guide |
| Getting Started | Setup environment |
| Building | Build and test |
| Adding Features | Extend the platform |
| Code Style | Coding conventions |
| Document | Description |
|---|---|
| Deployment Guide | Complete deployment guide |
| Local Deployment | Run locally |
| Docker Deployment | Containerized setup |
| Production Deployment | Production-ready setup |
| Monitoring | Prometheus + Grafana |
| Document | Description |
|---|---|
| API Reference | Complete API reference |
| REST API | Admin REST endpoints |
| Binary Protocol | Wire protocol |
| Producer API | Producer client |
| Consumer API | Consumer client |
| Error Codes | All error codes |
| Document | Description |
|---|---|
| Learning Guide | Educational deep dive |
| Phase 1: Storage | Storage layer implementation |
| Phase 2: Network | Network layer implementation |
| Phase 3: Consumer Groups | Consumer groups |
| Phase 5: Admin API | Admin API implementation |
docs/
├── DOCUMENTATION_INDEX.md # This file
├── ARCHITECTURE.md # System architecture (600+ lines)
├── DEVELOPER_GUIDE.md # Developer guide (800+ lines)
├── DEPLOYMENT_GUIDE.md # Deployment guide (700+ lines)
├── API_REFERENCE.md # API reference (800+ lines)
├── LEARNING_GUIDE.md # Learning guide (400+ lines)
├── phase1-storage-layer.md # Phase 1 (300+ lines)
├── phase2-network-layer.md # Phase 2 (300+ lines)
├── phase3-consumer-groups.md # Phase 3 (200+ lines)
└── phase5-admin-api.md # Phase 5 (300+ lines)
├── README.md # Project overview
├── IMPLEMENTATION_COMPLETE.md # Implementation status
└── PROJECT_STRUCTURE.md # Directory structure
├── pom.xml # Parent POM
├── common/pom.xml
├── broker/pom.xml
├── client/pom.xml
├── admin/pom.xml
├── Dockerfile.broker
├── Dockerfile.admin
├── docker-compose.yml
├── monitoring/prometheus.yml
└── admin/src/main/resources/application.yml
- Total Documentation Files: 11
- Total Lines of Documentation: ~4,700 lines
- Total Project Files: 78 files
- Total Lines of Code: ~7,500 lines
- Documentation-to-Code Ratio: 63%
mvn clean install # Build all modules
mvn test # Run all tests# Terminal 1: Broker
java -jar broker/target/streamflow-broker-1.0.0-SNAPSHOT.jar
# Terminal 2: Admin API
java -jar admin/target/streamflow-admin-1.0.0-SNAPSHOT.jardocker-compose up -d # Start all services
docker-compose logs -f # View logs
docker-compose down # Stop all services# Create topic
curl -X POST http://localhost:8080/api/topics \
-H "Content-Type: application/json" \
-d '{"name":"test","partitions":3,"replicationFactor":1}'
# Get topic info
curl http://localhost:8080/api/topics/test | jq
# Health check
curl http://localhost:8080/api/broker/health | jq- Apache Kafka - Inspiration
- Netty - Network framework
- Spring Boot - Admin API framework
- Prometheus - Metrics
- Grafana - Visualization
- Designing Data-Intensive Applications - Book
- Kafka: The Definitive Guide - Book
- Log-Structured Merge Tree - Concept
We welcome contributions! See Developer Guide - Adding New Features
- Issues: Report bugs or request features
- Questions: Check the documentation first, then ask on discussions
- Documentation: Found an error? Submit a PR!
Last Updated: 2026-03-15 Version: 1.0.0 Status: Complete (6/6 phases) ✅
Happy learning and building with StreamFlow! 🚀