Belajar REST API dengan bahasa pemrograman Go.
Projek ini sudah siap dijalankan dan dapat dimodifikasi sesuai kebutuhan masing-masing. Adapun kemampuan projek ini:
- Dapat menjadi backend dari REST API dan GRPC.
- Dapat mengoperasikan message broker, seperti mengirim dan menerima message.
- Dapat menjadi service dalam rangkaian microservices.
- Dapat menyediakan dokumentasi API melalui Swagger.
- Support berbagai koneksi database, seperti MySQL, PostgreSQL, SQLite, dan SQL Server.
- Support migrasi database dalam bentuk file SQL.
- Support dependency injection.
Struktur proyek ini mengikuti konsep-konsep arsitektural seperti:
- DRY (Don't Repeat Yourself)
- SOLID Principle
Nama | Kegunaan |
---|---|
Go | Bahasa Pemrograman |
Fiber | Web Framework |
GRPC | Transport RPC |
RabbitMQ | Message Broker |
PostgreSQL, MySQL, MariaDB, SQLite, MongoDB, Redis | Database Management System |
Gorm | Object-Relational Mapper |
Jwt | Token untuk Otentikasi |
Nama | Kegunaan |
---|---|
Validator | Validasi data |
GNU/Make | Build tool |
- Clone projek ke komputer lokal, dengan perintah:
git clone https://github.com/hadihammurabi/go-app
- Menjalankan projek dengan mode development (pengembangan) dengan perintah:
make dev
- Clone projek ke komputer lokal, dengan perintah:
git clone https://github.com/hadihammurabi/go-app
- Menjalankan projek siap guna dengan perintah:
make && ./main