Skip to content

Mini-Projects

Apply everything you’ve learned by building complete, working applications. Each project combines multiple concepts from the book.

ProjectDifficultyTimeDescription
CLI Task ManagerMedium45 minBuild a command-line task management application
URL ShortenerMedium45 minCreate a URL shortening HTTP service
Concurrent Web CrawlerHard60 minBuild a concurrent web page crawler
Cache with TTLHard45 minImplement a thread-safe cache with expiration

A complete command-line application for managing tasks with:

  • Add, list, complete, and delete tasks
  • JSON file persistence
  • Clean architecture with interfaces

An HTTP service that shortens URLs with:

  • REST API endpoints
  • In-memory storage
  • Clean URL generation

A web crawler that:

  • Crawls pages concurrently with worker pools
  • Handles URL deduplication
  • Respects rate limits

A generic cache implementation with:

  • Thread-safe operations
  • Automatic expiration
  • Generics for type safety

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
  1. Break the project into smaller tasks
  2. Write tests as you go
  3. Start with the domain layer
  4. Don’t worry about perfection - working code first