This repository contains my journey of learning Go. It serves as a portfolio of projects I create while mastering Go.
A command-line interface (CLI) application for managing tasks with features like:
- Add, update, and delete tasks
- Mark tasks as in progress or done
- List tasks by status (todo, in-progress, done)
- Persistent storage using JSON file
Key Concepts Learned:
- CLI application development in Go
- File I/O operations
- Data persistence
- Project structure and organization
- Command pattern implementation
A tool to fetch and display GitHub user activities with features like:
- Fetch recent user events from GitHub API
- Format and display user activities
- Handle API timeouts and rate limits
- Process multiple types of GitHub events
Key Concepts Learned:
- Working with external APIs
- HTTP client implementation
- JSON parsing and processing
- Error handling
- Timeout management
- Data modeling and formatting
A modern RESTful API for managing a bookstore's inventory, built with Go, Gin, GORM, and PostgreSQL.
Features:
- RESTful API endpoints for book management
- PostgreSQL database with GORM ORM
- Swagger documentation
- Docker and Docker Compose setup
- ISBN validation
- Structured project layout
Key Concepts Learned:
- Web API development with Gin
- Database operations with GORM
- Docker containerization
- API documentation with Swagger
- Custom validation
- Project structuring
- Environment configuration
- Health checks and monitoring