Go Starter API adalah proyek awal (starter) untuk membuat RESTful API menggunakan bahasa pemrograman Go. Proyek ini mencakup fitur-fitur dasar seperti registrasi, login, manajemen produk, dan manajemen pengguna. Proyek ini juga dilengkapi dengan otomatisasi reload (hot-reload) untuk memudahkan pengembangan.
- Registrasi pengguna
- Login pengguna dengan token JWT
- Manajemen produk (CRUD)
- Manajemen pengguna (CRUD)
-
Pastikan Anda telah menginstal Go dan mengatur GOPATH dengan benar.
-
Unduh proyek ini menggunakan perintah berikut:
go get -u github.com/username/go-starter-api
-
Pindah ke direktori proyek:
cd $GOPATH/src/github.com/username/go-starter-api
-
Instal dependensi proyek:
go mod tidy
-
Jalankan
cp .env.example .env
-
Jalankan key:generate untuk membuat SECRET_KEY:
go run main.go key:generate
-
Buat file .env dan konfigurasikan koneksi ke database MySQL:
- DB_USER=username
- DB_PASS=password
- DB_HOST=localhost
- DB_PORT=3306
- DB_NAME=database_name
- SECRET_KEY=your_secret_key
-
Jalankan migrasi untuk membuat tabel pada database:
go run main.go migrate
-
Jalankan seed untuk menambahkan data awal ke database:
go run main.go db:seed
-
Jalankan serve untuk menjalankan aplikasi:
go run main.go serve
-
Proyek ini akan dijalankan pada http://localhost:8080
POST /api/auth/register
- Registrasi pengguna baruPOST /api/auth/login
- Login penggunaPOST /api/auth/logout
- Logout pengguna
GET /api/products
- Mendapatkan daftar produkGET /api/products/:id
- Mendapatkan detail produk berdasarkan IDPOST /api/products
- Menambahkan produk baruPUT /api/products/:id
- Mengupdate produk berdasarkan IDDELETE /api/products/:id
- Menghapus produk berdasarkan ID
GET /api/users
- Mendapatkan daftar userGET /api/users/:id
- Mendapatkan detail user berdasarkan IDPOST /api/users
- Menambahkan user baruPUT /api/users/:id
- Mengupdate user berdasarkan IDDELETE /api/users/:id
- Menghapus user berdasarkan ID
Jika Anda ingin berkontribusi pada proyek ini, silakan fork proyek ini dan buat pull request dengan perubahan Anda.
Mochammad Hairullah
Proyek ini dilisensikan di bawah MIT License.