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.
-
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.
- Pendaftaran dan Autentikasi
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 |
- 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.
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 .