Nama | Zuyinatin Khofifah |
---|
Program ini adalah implementasi REST API untuk sistem penyewaan properti, yang dibangun menggunakan bahasa pemrograman Golang. Program ini adalah proyek unjuk keterampilan sebagai bagian dari pelatihan Alterra Academy untuk berkarir sebagai Backend Engineer dengan Golang.
Program ini menggunakan beberapa pustaka dan alat-alat berikut:
- Gorm: Sebuah ORM (Object Relational Mapping) untuk berinteraksi dengan database.
- Viper: Pustaka konfigurasi yang kuat untuk mengelola konfigurasi aplikasi.
- Gorilla/Mux: Router HTTP yang kuat untuk menangani permintaan HTTP.
- Logrus: Pustaka logging yang fleksibel dan kuat.
- Air: Alat live reload untuk pengembangan aplikasi Go.
Sebelum Anda memulai, pastikan Anda telah menginstal Golang di komputer Anda. Pastikan juga bahwa Anda memiliki database yang diaktifkan dan konfigurasi koneksi database telah diatur. Install Golang https://go.dev/doc/install
- Go (minimal versi 1.14)
- GORM - Toolkit ORM untuk Golang
- Viper - Library konfigurasi untuk Golang
- Gorilla Mux - Router HTTP dan URL matcher untuk Golang
- Logrus - Pustaka logging yang kuat untuk Golang
- Air - Alat live-reload untuk aplikasi Golang
- Klon repositori ini ke komputer Anda:
git clone https://github.com/username/go-rest-api-rental.git
- Masuk ke direktori proyek:
cd go-rest-api-rental
- Install dependensi dengan Go Modules:
go mod tidy
- Buat konfigurasi (.env) sesuai kebutuhan Anda.
- Jalankan program menggunakan Air untuk live-reload:
air
Program akan berjalan dan API akan dapat diakses di 'http://localhost:8080'.
Berikut merupakan penggunaan endpoint API:
- Mengambil Daftar Properti:
GET /properties
- Mengambil Detail Properti:
GET /properties/{id}/detail
- Menambahkan Data Properti:
POST /properties
- Mengubah Data Properti:
PUT /properties/{id}/update
- Menambahkan Data Properti:
DELETE /properties/{id}/delete
- Mengambil Daftar Tenant:
GET /tenants
- Mengambil Detail Tenant:
GET /tenants/{id}/detail
- Menambahkan Data Tenant:
POST /tenants
- Mengubah Data Tenant:
PUT /tenants/{id}/update
- Menambahkan Data Tenant:
DELETE /tenants/{id}/delete
This project was developed by Zuyinatin Khofifah. Special thanks to Alterra Academy for providing the training and guidance.