usrsvc

command module
v0.0.0-...-0874fe3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 16, 2023 License: MIT Imports: 16 Imported by: 0

README

usrsvc

.github/workflows/ci.yaml

The User Service is a microservice designed to provide basic CRUD operations for users, using gRPC for communication, PostgreSQL for data storage, Docker for containerization, and Go for the implementation. It has been implemented following Layered Architecture and Clean Architecture principles, with each layer having its own responsibilities to ensure maintainability and scalability.

Note for the reviewer

A good place to start looking at the code is the end-to-end tests in the tests directory. The tests are commented to explain some of the design decisions and the rationale behind the implementation. I also expanded on some comments in the code itself to compensate for the lack of discussions during the implementation.

How to Run

To run the application, Docker must be installed on your machine. If you don't have it installed, you can find instructions for installing Docker here. Once Docker is installed, you can run the following command:

make run

This command will spin up a PostgreSQL container and a container for the application. The application will be available on http://localhost:50051.

How to Test

For code formatting, static analysis, unit, integration and end-to-end tests all together you can run the following command:

make test

For more information about the available commands, you can run the following command:

make help

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
I could have done a more precise validation, especially for the first, last and nickname, but I think this is enough.
I could have done a more precise validation, especially for the first, last and nickname, but I think this is enough.
internal
pkg
proto

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL