Skip to content

Proyek ini adalah API backend untuk sistem dompet digital (e-wallet) yang menyediakan beberapa fitur dasar seperti registrasi akun, cek saldo, deposit, penarikan, dan transfer antar akun. API ini dibangun menggunakan **Express.js**, **TypeScript**, dan **Prisma ORM** dengan **PostgreSQL** sebagai database.

Notifications You must be signed in to change notification settings

sultonsabillar/digitalwalletapi-ts

Repository files navigation

Digital Wallet API

Proyek ini adalah API backend untuk sistem dompet digital (e-wallet) yang menyediakan beberapa fitur dasar seperti registrasi akun, cek saldo, deposit, penarikan, dan transfer antar akun. API ini dibangun menggunakan Express.js, TypeScript, dan Prisma ORM dengan PostgreSQL sebagai database.

Fitur Utama

  • Register: Membuat akun baru dengan nama dan email.
  • Check Balance: Memeriksa saldo akun.
  • Deposit: Menambah saldo ke akun.
  • Withdraw: Menarik saldo dari akun.
  • Transfer: Transfer uang antar akun.
  • Riwayat Transaksi: Melihat riwayat transaksi untuk suatu akun.

Persyaratan

Pastikan Anda telah menginstal perangkat berikut:

  • Node.js (LTS Version 23.0)
  • Expresss.js
  • Typescript
  • PostgreSQL

Instalasi

  1. Clone Repository:

    git clone https://github.com/sultonsabillar/digital-wallet-api.git
    cd digital-wallet-api
  2. Install Depedency:

    npm install
  3. Setup Database:

    Buat file .env masukan konfigurasi berikut

    DATABASE_URL="postgresql://user:password@localhost:5432/your_database_name?schema=public"
    npx prisma migrate dev --name init
    npx prisma generate
  4. Ganti script package.json:

       "scripts": {
       "start": "ts-node src/services/server.ts"
       }
  5. Run Server:

       npm run start
  6. File Direktori:

    digital-wallet-api/
    ├── node_modules
    ├── prisma
    │   ├── migrations
    │   ├── schema.prisma
    ├── src
    │   ├── controllers
    │     └── accountController.ts
    │     └── balanceController.ts
    │     └── depositController.ts
    │     └── transactionsController.ts
    │     └── transferController.ts
    │     └── withdrawController.ts
    │   ├── routes
    │     └── accountRoutes.ts
    │     └── balanceRoutes.ts
    │     └── depositRoutes.ts
    │     └── transactionsRoutes.ts
    │     └── transferRoutes.ts
    │     └── withdrawRoutes.ts
    │   └── services
    │     └── accountService.ts
    │     └── balanceService.ts
    │     └── depositService.ts
    │     └── transactionsService.ts
    │     └── transferServices.ts
    │     └── withdrawServices.ts
    ├── .env
    ├── .gitignore
    ├── package-lock.json
    ├── package.json
    ├── tsconfig.json
    ├──server.ts
    └── README.md
    
  7. Postman:

    Register

    POST : http://localhost:3000/api/accounts

    Deposit

    POST : http://localhost:3000/api/accounts/:id/deposit

    Balance

    GET : http://localhost:3000/api/accounts/:id/balance

    Withdraw

    POST : http://localhost:3000/api/accounts/:id/withdraw

    Transfer

    POST : http://localhost:3000/api/accounts/:id/transfer

    Transactions

    GET : http://localhost:3000/api/accounts/:id/transactions

About

Proyek ini adalah API backend untuk sistem dompet digital (e-wallet) yang menyediakan beberapa fitur dasar seperti registrasi akun, cek saldo, deposit, penarikan, dan transfer antar akun. API ini dibangun menggunakan **Express.js**, **TypeScript**, dan **Prisma ORM** dengan **PostgreSQL** sebagai database.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published