Skip to content

REST API service for managing users and books, written in Go. Interacting with audit-log-server via gRPC. Supports JWT authentication, interacts with PostgreSQL and MongoDB databases, and uses Docker for deployment.

Notifications You must be signed in to change notification settings

andy-ahmedov/crud_service

Repository files navigation

CRUD API SERVICE

Golang PostgreSQL Docker


minishell

ABOUT

This is a service written in Go that provides a user-friendly interface for managing users and books via a REST API. The service supports user registration and authentication using JWT tokens, ensuring security and efficiency. The service provides the ability to create, update, delete and obtain information about books, access to which is limited to authenticated users.

Swagger documentation is provided for the convenience of users and developers. Interaction with the audit-log-server is carried out via gRPC to write activity logs to the MongoDB database.

The service uses PostgreSQL to store information about users, books, and refresh tokens, and MongoDB to store logs. Both databases run in Docker containers for ease of deployment and scalability.

Final technology stack: Go, Gin, REST API, gRPC, PostgreSQL, MongoDB, Docker, JWT. This service is an excellent example of modern, secure and scalable web development.


⚡ STARTING

# Clone this project
$ git clone https://github.com/andy-ahmedov/crud_service

# Up database
$ make up

# Create Tables
$ make create_table

# Create Swagger documentation
$ make swag

# Run the project
$ make run

🔨 STACK

golang bash docker openapi postgres jwt grpc json rest-api swagger vscode

About

REST API service for managing users and books, written in Go. Interacting with audit-log-server via gRPC. Supports JWT authentication, interacts with PostgreSQL and MongoDB databases, and uses Docker for deployment.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages