An open API service indexing awesome lists of open source software.

https://github.com/bytesbyharsh/go-my-info

Go Backend Server to manage personal bank account and card details
https://github.com/bytesbyharsh/go-my-info

air chi go golang goose hacktoberfest postgresql rest-api sqlc

Last synced: about 1 month ago
JSON representation

Go Backend Server to manage personal bank account and card details

Awesome Lists containing this project

README

          

# My Info Backend

Written in `Go` for Reduces Latency.

Things Supported:
- CRUD Operation
- JWT Based Authentication
- JSON Validation
- Paginated Response
- SQLC For modules generation
- Goose for Database Migration
- Air Integration to Test in Dev ENV
- Swagger Integration

## Swagger (Limited)
[http://localhost:8000/swagger/index.html](http://localhost:8000/swagger/index.html)

![Swagger Documentation](/docs/assets/swagger_1.png)

![Swagger Documentation](/docs/assets/swagger_2.png)

![Swagger Documentation of Models](/docs/assets/swagger_3.png)

### Setup

```bash
go install github.com/air-verse/air@latest
go get github.com/go-chi/jwtauth/v5
go get github.com/go-chi/chi/v5
go get golang.org/x/crypto/bcrypt
go get github.com/joho/godotenv
```

## Update Database

```bash
cd sql/schema
goose postgres postgres://:@localhost:5432/go_my_info up
```

## Generate Internal DB

```bash
sqlc generate
```

## Start Application

```bash
go build ./cmd/main.go && ./main
```

## Start Dev Environment

```bash
air
```

## Generate Swagger Documentation

```bash
go install github.com/swaggo/swag/cmd/swag@latest
swag init -o './api' -g './cmd/main.go' --parseDependency
swag fmt
```