Skip to content

ricleal/GoLang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Experiments

A collection of Go experiments, proof-of-concepts, and learning projects exploring various aspects of the Go programming language and its ecosystem.

🎯 Featured Projects

A production-ready microservices architecture demonstrating:

  • JWT-based authentication with role-based access control (RBAC)
  • Traefik load balancer with rate limiting (DDoS protection)
  • Docker Compose with multiple replicas (horizontal scaling)
  • Decoupled authentication/authorization pattern
  • Health checks and monitoring

Tech Stack: Traefik, JWT, Docker Compose, microservices architecture

See auth/README.md for detailed documentation.


📂 Project Categories

🔐 Authentication & Authorization

  • auth/ - Complete microservices auth system with JWT, RBAC, and load balancing

🌐 HTTP & APIs

  • http_server/ - HTTP server implementations and patterns
  • api/ - API development and benchmarking
  • api_book/ - API examples from books/tutorials
  • proxy/ - Reverse proxy implementations

⚡ Concurrency & Performance

🏗️ Design Patterns & Architecture

🗄️ Database & Data

  • gorm/ - GORM ORM examples
  • bigquery/ - Google BigQuery integration
  • db-vector/ - Vector database experiments
  • lru/ - LRU cache implementation

🔧 System Programming

  • ctx/ - Context package examples (cancellation, signals)
  • shut-down/ - Graceful shutdown patterns
  • wait_ready/ - Ready/health check implementations
  • file/ - File parsing and processing
  • split_csv/ - CSV file splitting utilities

🧪 Testing & Debugging

📚 Data Structures & Algorithms

🎲 Miscellaneous

🎯 Fun & Challenges

  • fun/ - Various fun projects and challenges

🚀 Getting Started

Most projects are self-contained and can be run individually:

# Navigate to a project directory
cd <project-name>

# Run the project
go run main.go

# Or run tests
go test ./...

For projects with specific requirements, check the project's directory for a README or documentation.

📋 Prerequisites

  • Go 1.20 or higher
  • Docker and Docker Compose (for containerized projects)

🤝 Contributing

These are personal experiments and learning projects. Feel free to explore and learn from them!

📝 License

This is a personal learning repository.

About

Where I put my go tests..

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published