mylib

module
v0.0.0-...-8227220 Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2023 License: MIT

README

mylib - API based on REST and Clean Architecture principles.

Technologies

technology purpose
Go awesome programming language
Git by default
OpenAPI used for describing the structure, operations, parameters, and responses of an API
Makefile helps automate tasks, such as building, testing, and deploying applications.
Docker used to containerize the application and its dependencies
Postgres system used to store and retrieve main data
Redis An in-memory data structure store user session data
OData used as protocol for querying and updating data using query parameters
Letsencrypt open certificate authority

Awesome Dependencies

package description
revalid my own struct validator based on regex
autocert access to certificates
bcrypt hash validation
chi router
errors graceful error-handling
goose SQL migrations
golangci-lint Go liners aggregator
golang-jwt JSON Web Tokens
pgx postgres driver
go-redis redis client
uuid UUID generator
zap logger

Structure

mylib/
├── app/
│   ├── exceptions/
│   │   └── errors.go
│   ├── models/
│   │   ├──abstract.go
│   │   ├──author.go
│   │   ├──book.go
│   │   ├──credentials.go
│   │   ├──filter.go
│   │   ├──reader.go
│   │   └──token.go
│   ├── presenters/
│   │   └── rest/
│   │       ├── abstract.go
│   │       ├── book_handler.go
│   │       ├── const.go
│   │       ├── cookie.go
│   │       ├── errors.go
│   │       ├── middleware.go
│   │       ├── reader_handler.go
│   │       ├── responder.go
│   │       ├── router.go
│   │       ├── server.go
│   │       └── token.go
│   ├─── repository/
│   │    ├── psql/
│   │    │   ├── author.go 
│   │    │   ├── book.go
│   │    │   ├── conn.go
│   │    │   ├── filter.go
│   │    │   └── reader.go
│   │    └── rds/
│   │        ├── client.go
│   │        └── token.yml
│   └── usecases/
│       ├── abstract.go 
│       ├── author.go   
│       ├── book.go   
│       ├── reader.go   
│       └── token.go   
├── cmd/
│   └── main.go 
├── doc/
│   └── openapi.yml 
├── lib/
│   ├── banderlog/
│   │    └── logger.go
│   ├── env/
│   │    └── load.go
│   ├── hash/
│   │    └── hash.go
│   ├── revalid/
│   │    └── validator.go
│   └── tokay/
│       └── jwt.go
├── mig/
│   ├── ######_*.sql
│   └── mig.go 
├── .env 
├── .gitignore 
├── .golangci.yml 
├── docker-compose.yml
├── Dockerfile
├── go.mod
├── LICENSE
├── log.json
├── Makefile
└── README.md

Helpful materials

Directories

Path Synopsis
app
lib
banderlog
Package banderlog is wrapper around zap logger that initialize stdout and JSON file logging.
Package banderlog is wrapper around zap logger that initialize stdout and JSON file logging.
env

Jump to

Keyboard shortcuts

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