GOCRUD is a simple CRUD (Create, Read, Update, Delete) API developed in Golang. It provides basic functionalities for managing notes.
├── assets
│ └── database-schema.png
├── cmd
│ └── main.go
├── docker-compose.yml
├── Dockerfile
├── docs
│ ├── docs.go
│ ├── swagger.json
│ └── swagger.yaml
├── go.mod
├── go.sum
├── internal
│ ├── adapter
│ │ ├── http
│ │ │ ├── handler
│ │ │ │ ├── note.go
│ │ │ │ ├── note_test.go
│ │ │ │ ├── user.go
│ │ │ │ └── user_test.go
│ │ │ ├── middleware
│ │ │ │ └── auth.go
│ │ │ └── route
│ │ │ ├── auth.go
│ │ │ ├── note.go
│ │ │ ├── user.go
│ │ │ └── welcome.go
│ │ └── repository
│ │ ├── note.go
│ │ └── user.go
│ ├── config
│ │ ├── config.go
│ │ ├── fiber.go
│ │ ├── gorm.go
│ │ └── gorm_test.go
│ ├── core
│ │ ├── domain
│ │ │ ├── claims.go
│ │ │ ├── note.go
│ │ │ ├── response.go
│ │ │ └── user.go
│ │ ├── port
│ │ │ ├── middleware.go
│ │ │ ├── note.go
│ │ │ └── user.go
│ │ └── service
│ │ ├── note.go
│ │ ├── note_test.go
│ │ ├── user.go
│ │ └── user_test.go
│ ├── mocks
│ │ ├── NoteRepository.go
│ │ ├── NoteService.go
│ │ ├── UserRepository.go
│ │ └── UserService.go
│ └── util
│ ├── bcrypt.go
│ ├── jwt.go
│ └── validator.go
├── Makefile
└── readme.md
- Go
- Fiber
- GORM
- MySQL
-
Clone the repository
git clone https://github.com/shironxn/blanknotes.git
-
Navigate to the project directory
cd gocrud
-
Copy or rename .env.example to .env
cp .env.example .env
-
Check available make commands
make help
Run without docker
make run
Run with docker
make docker-up
Run test
make test
This API documentation is using Swagger. You can see it at http://localhost:3000/api/v1/docs