Learn Cello¶
Master Cello through hands-on learning. Whether you're writing your first route or architecting distributed systems, there's a guided path for you. Pick your level and start building.
Learning Path¶
Follow the progression from beginner to advanced to build your skills step by step:
graph LR
B["Beginner"]:::beginner --> I["Intermediate"]:::intermediate --> A["Advanced"]:::advanced
B1["Installation"] --> B2["Quick Start"] --> B3["First App"] --> B4["REST API"]
I1["Auth System"] --> I2["Chat App"] --> I3["Testing"] --> I4["Error Handling"]
A1["Microservices"] --> A2["Performance"] --> A3["Deployment"] --> A4["Enterprise Patterns"]
B --- B1
I --- I1
A --- A1
classDef beginner fill:#1A1A1A,stroke:#4caf50,color:#4caf50
classDef intermediate fill:#1A1A1A,stroke:#FF9100,color:#FF9100
classDef advanced fill:#1A1A1A,stroke:#e53935,color:#e53935 -
Beginner
New to Cello? Start here with the fundamentals. Learn installation, routing, request handling, and build your first REST API.
Estimated time: 2-3 hours
-
Intermediate
Ready for more? Learn authentication, real-time communication, testing strategies, and robust error handling.
Estimated time: 4-6 hours
-
Advanced
Building production systems? Dive into microservices, performance tuning, deployment, and enterprise architectural patterns.
Estimated time: 8-12 hours
Tutorials¶
Step-by-step guides to build complete, working applications from scratch.
-
Build a REST API
30 min | Beginner
Build a full CRUD API with input validation, error handling, and structured responses.
-
Build a Chat App
45 min | Intermediate
Create a real-time WebSocket chat application with multi-client broadcasting.
-
Authentication System
60 min | Intermediate
Implement JWT authentication with login, refresh tokens, and role-based access.
-
Microservices
90 min | Advanced
Build communicating microservices with service discovery and message passing.
Guides¶
In-depth guides on specific topics to deepen your expertise.
-
Best Practices
Code organization, security patterns, performance tips, and project structure conventions.
-
Error Handling
RFC 7807 Problem Details, custom exception handlers, and structured error responses.
-
Testing
Unit tests, integration tests, mocking, test clients, and CI/CD integration.
-
Performance Tuning
Optimization strategies, profiling, benchmarking, and production configuration.
-
Production Deployment
Docker, Kubernetes, reverse proxies, monitoring, and zero-downtime deployments.
Architectural Patterns¶
Proven patterns for building robust, maintainable applications at scale.
-
Repository Pattern
Abstract data access behind clean interfaces for testability and flexibility.
-
Service Layer
Organize business logic in dedicated service classes with clear boundaries.
-
Event-Driven
Decouple components with event publishing and subscription for loose coupling.
-
CQRS
Separate read and write models for optimized queries and scalable commands.
Recommended Learning Path¶
Suggested order for the best learning experience
Phase 1 -- Get Running (Day 1)
- Installation -- Set up your environment
- Quick Start -- Build and run your first endpoint
- Build a REST API -- Complete CRUD tutorial
Phase 2 -- Go Deeper (Week 1)
- Error Handling Guide -- Structured error responses
- Authentication System -- JWT & RBAC
- Testing Guide -- Write reliable tests
- Best Practices -- Code organization & patterns
Phase 3 -- Level Up (Week 2-3)
- Real-time Chat App -- WebSocket communication
- Performance Tuning -- Optimize for production
- Production Deployment -- Docker & Kubernetes
Phase 4 -- Go Enterprise (Month 2+)
- Microservices Tutorial -- Distributed architecture
- CQRS Pattern -- Command/query separation
- Enterprise Features -- Database, Redis, GraphQL
Quick Links¶
| Looking for... | Go to |
|---|---|
| "How do I install Cello?" | Installation |
| "Show me a basic REST API" | REST API Tutorial |
| "How do I add authentication?" | Auth System Tutorial |
| "How do I write tests?" | Testing Guide |
| "How do I deploy to production?" | Deployment Guide |
| "How do I use WebSockets?" | Chat App Tutorial |
| "What patterns should I use?" | Architectural Patterns |
| "Show me all features" | Features Overview |
Community Resources¶
Learn with the Community
- GitHub Discussions -- Ask questions, share ideas
- :material-discord: Discord Server -- Real-time chat with other developers
- Stack Overflow -- Browse tagged Q&A
- Contributing a Tutorial -- Share your knowledge with others