Skip to content

anggraanutomo/BE-E-Wallet

 
 

Repository files navigation

Welcome to AltaPay API

📓 About The Project

Selamat datang di projek kami, projek ini bertujuan untuk mereplikasi beberapa fitur e-wallet seperti bertransaksi ke food court, melakukan transaksi, melakukan top-up yang terintegrasi dengan payment gateway, dan mencatat historiesnya. Aplikasi ini dirancang untuk memberikan kemudahan dan kenyamanan dengan tampilan yang ciamik serta intuitif.

🎴 Prototype

🤝 Collaboration

⚔ Backend

👩‍🌾 ERD

🎮 Features

  • Berikut beberapa fitur dari AltaPay:

    • Pendaftaran dan Autentikasi
      • Registrasi pengguna: Formulir pendaftaran dengan memasukkan nomor telepon, email, alamat, pin, pin konfirmasi.
      • Login: Sistem login menggunakan nomor telepon dan pin
    • Pengelolaan Akun
      • Profil pengguna: Halaman profil untuk melihat dan mengedit informasi pribadi.
      • Saldo dompet: Tampilan saldo saat ini.
    • TopUp Dana
      • Melakukan pengisian dana: Integrasi dengan metode pembayaran seperti Virtual Account, Kartu Kredit/Debit, dan Transfer Bank
    • Transaksi
      • Pembayaran: Melakukan pengirim uang ke merchant.
      • Riwayat transaksi: Daftar semua transaksi yang pernah dilakukan berdasarkan tanggal melakukan transaksi dengan merchant maupun topup dana.
    • Keamanan
      • Keamanan transaksi: Enkripsi data.

✔ Unit Test

📑 List Endpoints

Tag Endpoint
👤 User POST /login
👤 User POST /users/customer
👤 User POST /users/merchant
👤 User GET /users
👤 User PUT /users
👤 User POST /users/changeprofilepicture
💰 Wallet GET /wallets
🛍️ Product GET /products
🛍️ Product POST /products
🛍️ Product GET /products/:id
🛍️ Product PUT /products/:id
🛍️ Product DELETE /products/:id
🛍️ Product GET /users/:id/products
🛍️ Product POST /products/:id/images
💳 Topup POST /topups
💳 Topup GET /topups
💳 Topup GET /topups/:id
💵 Transaction POST /transactions
💵 Transaction GET /transactions
💵 Transaction POST /transactions/verify
💵 Transaction GET /transactions/:id
💵 Transaction PUT /transactions/:id
📝 History GET /histories

🧵 Tech Stack

  • Golang
    • -> Golang adalah bahasa pemrograman yang digunakan untuk membangun backend aplikasi.
  • Echo
    • -> Echo adalah sebuah framework web yang bersifat minimalis, cepat, dan ekspresif, yang memudahkan pengembangan aplikasi web menggunakan bahasa pemrograman Go.
  • GORM
    • -> GORM adalah sebuah library yang memudahkan pengembang dalam melakukan interaksi dengan database menggunakan konsep Object-Relational Mapping (ORM).
  • MySQL
    • -> MySQL adalah Relational Database Management System (RDBMS) yang digunakan untuk membuat basis data relasional.
  • JWT (JSON Web Token)
    • -> Standar industri untuk token akses yang digunakan untuk otentikasi dan otorisasi.
  • GCP (Google Cloud Platform)
    • -> Layanan cloud yang digunakan untuk hosting dan layanan lainnya.
  • Cloudinary
    • -> Platform media cloud yang digunakan untuk manajemen dan penyimpanan gambar.
  • Midtrans
    • -> Gateway pembayaran yang digunakan untuk memproses transaksi pembayaran.
  • Docker
    • -> Platform yang digunakan untuk mengemas aplikasi dan dependensinya dalam bentuk kontainer.
  • Postman
    • -> Alat pengujian API yang digunakan untuk menguji endpoint API.
  • GitHub
    • -> Platform pengembangan perangkat lunak yang digunakan untuk kontrol versi dan kolaborasi.

🛠️ Installation

Untuk menjalankan proyek ini kamu membutuhkan beberapa environment variable yang dapat kamu contoh di .env.example setelah itu kamu dapat mengeksport dengan menggunakan perintah source .env.

Berikut adalah beberapa environment variabel yang diperlukan:

Untuk mengetahaui environment terkait cloudinary kamu dapat mengujungi ini

Untuk membuat dan folder agar bisa diassign ke environment CLOUDINARY_UPLOAD_FOLDER kamu dapat mengikuti ini

Terkait dengan midtrans kamu dapat mengunjungi link berikut

Untuk menjalankan program ini pertama kamu harus mengclone repository ini dengan menggunakan perintah

git clone https://github.com/Sistem-Manajemen-E-Wallet/BE-E-Wallet.git

masuk ke folder

cd BE-E-Wallet

pastikan golang dan mysql kamu sudah terinstall, jika belum silahkan kunjungi :

jika sudah silahkan jalankan

go mod tidy
go run .

🙋‍♂️ Authors

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.3%
  • Other 0.7%