Golang Rest API with Fiber and GORM and Docker
With pattern Handler, Usecase, Repository
# clone the repo
$ git clone repo
# go into repo's directory
$ cd repo
# copy and edit env file
$ cp .env.example .env
# seeds data to database like status
$ db migrate, edit pkg/configs/connect_db.go
# build docker
$ make build
# start docker
$ make run
- Fiber Log file, Favicon
- Fiber Monitor (metrics)
- Golang Architecture Pattern
- Handler (delivery/controller)
- Usecase (bridge - logic process)
- Repository (process to DB)
- Error Handling with *fiber.Error
- Auth
- Register, Send verification Email
- Send Email with Goroutines
- Open Link Verification Email
- Resend Verification Email Code
- Login
- JWT Auth Middleware + Redis
- Refresh Token
- Forgot Password, send email OTP
- Forgot Password Verify OTP
- Reset Password
- Logout
- Account
- Get Profile
- Update Profile
- Update Photo Profile + thumbnail
- Upload File, upload image(compressed)
- Change Password
- Deletion Account with OTP
- Recover deleted account (Admin role)
- User Activity with interval (last login at, ip address in middleware)
- Golang Swagger
- CRUD
- Pagination with custom Paginate pagination-using-gorm-scopes
- Sort + Search function in List Data
- Create Data
- Edit Data
- Delete Data
- Preload Model (Associations Struct)
- Struct MarshalJSON (Custom representation)
- Open API with API KEY middleware
- Upload Files
- Remove Files
- Upload Videos
- Create thumbnail from videos with ffmpeg
- Upload Images and Compress Image with libvips
- Create thumbnail from image
- Image Processing with libvips
go to https://www.libvips.org/
tutorial-go-fiber-rest-api
Twilio
Vinika Anthwal - Medium - Github
codevoweb.com - Github