Mini-Projects
Mini-Projects
Section titled “Mini-Projects”Apply everything you’ve learned by building complete, working applications. Each project combines multiple concepts from the book.
Projects in This Section
Section titled “Projects in This Section”| Project | Difficulty | Time | Description |
|---|---|---|---|
| CLI Task Manager | Medium | 45 min | Build a command-line task management application |
| URL Shortener | Medium | 45 min | Create a URL shortening HTTP service |
| Concurrent Web Crawler | Hard | 60 min | Build a concurrent web page crawler |
| Cache with TTL | Hard | 45 min | Implement a thread-safe cache with expiration |
What You’ll Build
Section titled “What You’ll Build”CLI Task Manager
Section titled “CLI Task Manager”A complete command-line application for managing tasks with:
- Add, list, complete, and delete tasks
- JSON file persistence
- Clean architecture with interfaces
URL Shortener
Section titled “URL Shortener”An HTTP service that shortens URLs with:
- REST API endpoints
- In-memory storage
- Clean URL generation
Concurrent Web Crawler
Section titled “Concurrent Web Crawler”A web crawler that:
- Crawls pages concurrently with worker pools
- Handles URL deduplication
- Respects rate limits
Cache with TTL
Section titled “Cache with TTL”A generic cache implementation with:
- Thread-safe operations
- Automatic expiration
- Generics for type safety
Prerequisites
Section titled “Prerequisites”These projects assume you’ve completed most of the book chapters and are comfortable with:
- All core Go concepts
- Concurrency patterns
- Clean architecture principles
- Testing strategies
- Break the project into smaller tasks
- Write tests as you go
- Start with the domain layer
- Don’t worry about perfection - working code first