https://github.com/javiorfo/go-microservice-users
Go microservice for storing users, credentials, login and registration security
https://github.com/javiorfo/go-microservice-users
go golang jwt jwt-authentication security users
Last synced: about 1 year ago
JSON representation
Go microservice for storing users, credentials, login and registration security
- Host: GitHub
- URL: https://github.com/javiorfo/go-microservice-users
- Owner: javiorfo
- License: mit
- Created: 2024-11-12T13:46:27.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-11-29T20:21:49.000Z (over 1 year ago)
- Last Synced: 2024-11-29T21:24:59.710Z (over 1 year ago)
- Topics: go, golang, jwt, jwt-authentication, security, users
- Language: Go
- Homepage:
- Size: 60.5 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: security/pwd/password.go
Awesome Lists containing this project
README
# go-microservice-users
*Go microservice for storing users, credentials, login and registration security*
## Dependencies
Golang, Docker, Make, [Swag tool](https://github.com/swaggo/swag)
## Features
- Architecture
- Handlers, respositories and services
- Custom Messages and Errors
- Pagination and Ordering
- DB Migrator
- Go 1.23 (at the moment)
- Libraries
- Web: Fiber
- ORM: Gorm
- Security: JWT
- Validations: Go Playground Validator
- Unit Test: Testify
- DB: Postgres
- Tracing: Opentelemetry
- Test: Testcontainers
- OpenAPI: Fiber Swagger
- Environment: Godot
- Keycloak as Auth Server
- Distributed tracing
- OpenTelemetry, Micrometer and Jaeger
- Swagger
- Swaggo & Fiber Swagger
- Customized with command **make swagger**
- Auditory
- Gorm custom auditory
- Database
- Postgres for the app
- Testcontainers for testing
## Files
- [Dockerfile](https://github.com/javiorfo/go-microservice-users/tree/master/Dockerfile)
## Usage
- Executing `make help` all the available commands will be listed.
- Also the standard Go commands could be used, like `go run main.go`
## Services
- **Create users** POST: /users
- **Get users** GET: /users
- **Get user by ID** GET: /users/{id}
- **Login** POST: /users/login
---
### Donate
- **Bitcoin** [(QR)](https://raw.githubusercontent.com/javiorfo/img/master/crypto/bitcoin.png) `1GqdJ63RDPE4eJKujHi166FAyigvHu5R7v`
- [Paypal](https://www.paypal.com/donate/?hosted_button_id=FA7SGLSCT2H8G)