Skip to content

RevivalDigital/CryptoPortofolio

Repository files navigation

BITLAB – Crypto Portfolio Tracker

BITLAB adalah aplikasi web untuk melacak portofolio aset kripto dalam satu dashboard terpusat, dengan harga pasar real-time dalam Rupiah (IDR). Aplikasi ini dibangun dengan Next.js dan menggunakan PocketBase sebagai backend.

Fitur Utama

  • Dashboard Portofolio

    • Ringkasan nilai total portofolio dalam IDR
    • Visualisasi alokasi aset dengan chart donut (Chart.js)
    • PNL (profit & loss) dan persentase per aset
  • Manajemen Transaksi

    • Catat transaksi buy dan sell
    • Riwayat transaksi per aset
    • Perhitungan realized PNL per transaksi
  • Smart Rebalance

    • Set target persentase alokasi per aset
    • Hitungan otomatis berapa yang perlu dibeli / dijual untuk mencapai target (berbasis IDR)
  • Settings Aset

    • Tambah aset berdasarkan CoinGecko ID
    • Simpan wallet address atau nama exchange
  • Autentikasi

    • Register & login user via PocketBase
    • Session disimpan di client via PocketBase auth store

Teknologi

Menjalankan Secara Lokal

  1. Clone repo

    git clone https://github.com/Createch-Studio/CryptoPortofolio.git
    cd CryptoPortofolio
  2. Install dependency

    npm install
  3. Set environment variable

    Buat file .env.local di folder bitlab-next (sudah dicontohkan di repo):

    NEXT_PUBLIC_PB_URL=https://urlpcketbaseanda

    ganti dengan URL instance PocketBase kamu sendiri.

  4. Jalankan dev server

    npm run dev

    Aplikasi akan berjalan di http://localhost:3000.

Konfigurasi Environment (Vercel)

Untuk deployment di Vercel, set environment variables berikut di Project Settings:

  • NEXT_PUBLIC_PB_URL – URL instance PocketBase (public, dipakai di client)

Pastikan nilai ini mengarah ke backend PocketBase yang sudah dikonfigurasi dengan koleksi:

  • users
  • cryptos
  • transactions
  • asset_stats

Struktur koleksi mengikuti skema yang dipakai di kode (misalnya field symbol, coingecko_id, wallet_address, total_qty, target_pct, dll).

Script NPM

Di package.json terdapat script:

  • npm run dev – menjalankan Next.js dev server
  • npm run build – build aplikasi untuk production
  • npm run start – menjalankan hasil build
  • npm run lint – menjalankan linting

Catatan Pengembangan

  • PocketBase diakses langsung dari komponen client ("use client"), dengan auto cancellation dimatikan untuk menghindari error pada Next.js 16.
  • URL PocketBase tidak lagi hard-coded di kode, seluruhnya membaca dari process.env.NEXT_PUBLIC_PB_URL.
  • Chart donut di dashboard menggunakan Chart.js dengan controller DoughnutController yang sudah diregistrasi.

Lisensi

Proyek ini dirilis di bawah lisensi MIT.

Lihat file LICENSE untuk detail lengkap.

About

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors