My Project : Marketplace Backend API

 

My Project: Marketplace API

   Aplikasi ini adalah API untuk marketplace yang menawarkan fitur diskon dan bebas ongkir bagi pelanggan. Setiap transaksi produk di atas Rp15.000 mendapatkan bebas ongkir, dan jika transaksi produk di atas Rp50.000, pelanggan mendapatkan diskon sebesar 10%. API ini mendukung registrasi pengguna, manajemen produk oleh merchant, dan pencatatan transaksi oleh pelanggan.

Peran:

   Backend Developer 

Fitur:

  • Autentikasi: Sistem login dan registrasi dengan JWT.
  • Manajemen Produk: Merchant dapat membuat, memperbarui, dan menghapus produk.
  • Diskon & Bebas Ongkir: Otomatisasi bebas ongkir untuk transaksi di atas Rp15.000 dan diskon 10% untuk transaksi di atas Rp50.000.
  • Manajemen Transaksi: Pencatatan transaksi produk oleh pelanggan, serta pelaporan transaksi kepada merchant.

Teknologi:

  • Node.js
  • Express
  • Sequelize (ORM)
  • MySQL
  • JWT (JSON Web Token)
  • Postman (untuk pengujian API)

Penggunaan:

  1. Clone repositori ini:
    git clone https://github.com/yourusername/backend-marketplace
    cd backend-marketplace
  2. Install dependensi dengan menjalankan perintah:
    npm install
  3. Konfigurasi variabel lingkungan Anda di file .env:
    JWT_SECRET=your_jwt_secret
    DATABASE='marketplace'
    DATABASE_USERNAME='username'
    DATABASE_PASSWORD='password'
    DATABASE_HOST='localhost'
    DATABASE_PORT=3306
    DATABASE_TYPE='mysql'
    DATABASE_LOGGING=false
  4. Buat database MySQL dengan nama marketplace.
  5. Pastikan server Anda berjalan dengan menjalankan perintah:
    npm run start

API Endpoints:

Auth:

  • POST /api/auth/register Body: { "username": "merchant1", "password": "password", "role": "merchant" }
  • POST /api/auth/login Body: { "username": "merchant1", "password": "password" }

Products:

  • POST /api/products Headers: { "Authorization": "Bearer your_jwt_token" } Body: { "name": "Product A", "price": 20000 }
  • GET /api/products
  • PUT /api/products/:id Headers: { "Authorization": "Bearer your_jwt_token" } Body: { "name": "Product A Updated", "price": 25000 }
  • DELETE /api/products/:id Headers: { "Authorization": "Bearer your_jwt_token" }

Transactions:

  • POST /api/transactions Headers: { "Authorization": "Bearer your_jwt_token" } Body: { "productId": 1, "quantity": 3 }
  • GET /api/transactions/merchant Headers: { "Authorization": "Bearer your_jwt_token" }

Postman Collection:

  • File koleksi Postman untuk pengujian endpoint API terletak di direktori postman dan diberi nama postman_collection.json.
  • Untuk mengimpor koleksi Postman, buka Postman, klik tombol Import, dan pilih file dari direktori postman.

Kesimpulan:

Proyek ini menunjukkan kemampuan dalam mengelola marketplace dengan fitur diskon dan bebas ongkir yang otomatis. Aplikasi ini memberikan fleksibilitas bagi merchant dan kenyamanan bagi pelanggan.

Source Code :

Untuk informasi lebih lanjut tentang proyek ini atau untuk berdiskusi tentang kolaborasi proyek, silakan hubungi saya atau kunjungi website saya.

Gesa Rizky
Tech Enthusiast & Freelancer yang senantiasa belajar lebih giat lagi karena kemampuan sifatnya berkembang tidak ada seseorang pun yang memilki kemampuan tanpa di iringi dengan belajar

Related Posts

: