🚀 Go Projects Collection

Build real-world applications and learn Go by doing

🌐

RESTful API Server

Beginner

Build a complete REST API with CRUD operations, authentication, and database integration using the Gin framework.

Gin GORM PostgreSQL JWT

What You'll Build:

  • User registration and authentication
  • CRUD operations for resources
  • Middleware for logging and auth
  • Database migrations
  • Input validation
  • Error handling
// Sample endpoint
func GetUsers(c *gin.Context) {
    var users []User
    db.Find(&users)
    c.JSON(200, users)
}

CLI Task Manager

Beginner

Create a powerful command-line tool for managing tasks with Cobra, featuring persistent storage and beautiful output.

Cobra Viper BoltDB Color

Features:

  • Add, list, and complete tasks
  • Priority levels and due dates
  • Search and filter capabilities
  • Export to JSON/CSV
  • Configuration management
// Command structure
var addCmd = &cobra.Command{
    Use:   "add",
    Short: "Add a new task",
    Run: func(cmd *cobra.Command, args []string) {
        // Implementation
    },
}
💬

Real-time Chat Server

Intermediate

Build a real-time chat application with WebSocket support, rooms, and message history.

Gorilla WebSocket Redis MongoDB

Key Components:

  • WebSocket connection handling
  • Multiple chat rooms
  • Message broadcasting
  • User presence tracking
  • Message history
  • Typing indicators
🔧

Microservices Architecture

Advanced

Design and implement a microservices-based e-commerce platform with gRPC communication.

gRPC Protocol Buffers Docker Kubernetes

Services:

  • User authentication service
  • Product catalog service
  • Order management service
  • Payment processing
  • Service discovery
  • Load balancing
🕷️

Web Scraper

Intermediate

Build a concurrent web scraper that extracts data from websites efficiently using goroutines.

Colly Goroutines Channels SQLite

Capabilities:

  • Concurrent page crawling
  • Rate limiting
  • Data extraction patterns
  • Export to multiple formats
  • Scheduled scraping
📊

GraphQL API

Intermediate

Create a GraphQL server with subscriptions, data loaders, and authentication.

gqlgen GraphQL DataLoader

Implementation:

  • Schema design
  • Query and mutation resolvers
  • Real-time subscriptions
  • N+1 query optimization
  • Authentication middleware
⛓️

Mini Blockchain

Advanced

Implement a simple blockchain with proof-of-work, transactions, and wallet functionality.

Crypto SHA256 P2P

Components:

  • Block creation and mining
  • Proof-of-work algorithm
  • Transaction management
  • Wallet generation
  • Peer-to-peer network
📁

File Processing Pipeline

Intermediate

Build a concurrent file processing system using channels and worker pools.

Worker Pools Channels Context

Features:

  • Concurrent file processing
  • Multiple file format support
  • Progress tracking
  • Error recovery
  • Resource pooling
📈

System Monitor

Advanced

Create a real-time system monitoring dashboard with metrics collection and alerting.

Prometheus WebSocket Time Series DB

Monitoring:

  • CPU and memory usage
  • Network statistics
  • Custom metrics
  • Alert management
  • Historical data analysis