@Author: Ebite Ogochukwu Zion @Date: August 1, 2023 @Purpose: This is a service Layer for GO API/Web integration with Application.
Structure and organization — Implement an idiomatic and flexible code structure for your RESTful API projects.
JSON responses — Send JSON responses from your API, format and customize them, and catch common gotchas you need to be aware of.
JSON requests — Parse incoming JSON requests, manage bad requests, and restrict and validate their content.
SQL migrations — Use SQL migrations to manage changes to your database schema.
Database operations — Set timeouts on database queries and optimize the behavior of Go’s sql.DB connection pool.
CRUD — Perform advanced actions on API resources, including fetching related data and partial updates (with optimistic concurrency control).
Filtering, sorting and pagination — support filtering, sorting and pagination of data in API endpoints.
Full-text search — Use PostgreSQL’s full-text search functionality to perform natural-language searches of your data.
Structured logging — custom logger which writes structured, leveled, log entries in JSON format.
Rate-limiting — limit requests to API on a per-client basis.
Managing background tasks — Safely execute tasks in background goroutines.
Graceful shutdown — Set up API to support graceful shutdowns, including waiting for background tasks to complete.
Sending emails — Send emails from your API and manage email content using Go’s new embedded files functionality.
User activation and password resets — Build secure workflows for registering users, verifying their email address, and managing password resets.
Authentication — authenticate users with both stateful bearers tokens and stateless JWTs (JSON web tokens).
Permission-based authorization — implement granular permission-based authorization checks on API endpoints.
Managing CORS requests — Control cross-origin requests to your API from front-end JavaScript applications.
Metrics — Expose application metrics, including memory use, sql.DB connection pool statistics, response status counts and more.
Building and auditing — Combine Go’s tooling and Makefiles to easily audit your code, build binaries and vendor dependencies.
Versioning — leverage Git to apply automatic application versioning when building binaries.
List and describe all your API HERE
Describe your Functions Here
List your work flow(Include to do)
List and describe all your API HERE
Describe your Functions Here
List your work flow(Include to do)