https://github.com/kx0101/greenlight
A comprehensive RESTful API project in Go featuring modular architecture, advanced JSON handling, PostgreSQL integration, user management, rate limiting, and deployment
https://github.com/kx0101/greenlight
api backend go golang restful-api
Last synced: about 1 month ago
JSON representation
A comprehensive RESTful API project in Go featuring modular architecture, advanced JSON handling, PostgreSQL integration, user management, rate limiting, and deployment
- Host: GitHub
- URL: https://github.com/kx0101/greenlight
- Owner: kx0101
- Created: 2024-08-19T19:14:01.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-15T15:23:55.000Z (over 1 year ago)
- Last Synced: 2025-03-03T15:11:31.330Z (over 1 year ago)
- Topics: api, backend, go, golang, restful-api
- Language: Go
- Homepage:
- Size: 267 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

This repository contains a comprehensive RESTful API project built in Go, designed as a structured, modular system ideal for modern web applications. The project follows a step-by-step approach, from initial setup to deployment, covering backend concepts and advanced functionality
**Features**
- Modular Structure
- HTTP Server: Basic server setup with RESTful routing.
- JSON Handling: Advanced JSON encoding/decoding, including error responses and custom formats.
- Database Integration: PostgreSQL setup with connection pooling and SQL migrations.
- CRUD Operations: Complete implementation of Create, Read, Update, Delete functionality.
- Advanced CRUD: Features like partial updates, optimistic concurrency control, and query timeouts.
- Filtering and Pagination: Comprehensive data retrieval with filtering, sorting, and pagination support.
- Rate Limiting: Global and IP-based rate limiting to manage traffic.
- Graceful Shutdown: Smooth server shutdown handling.
- User Management: User registration, activation, and permission-based authorization.
- Email Notifications: SMTP setup for sending templated and background emails.
- CORS Support: Secure handling of cross-origin requests.
- Metrics Tracking: Request-level and custom metrics for monitoring performance.
- Build Automation: Makefile usage for version control and build management.
- Deployment Guidance: Step-by-step instructions for deploying on Digital Ocean.