Smart Crypto Tracker & AI Assistant
COINWETON adalah platform pelacak pasar kripto (crypto market tracker) berbasis web yang dirancang sebagai solusi inovatif untuk mengatasi krisis literasi keuangan digital di Indonesia, khususnya fenomena Fear of Missing Out (FOMO) dan penyalahgunaan pinjaman online (pinjol) yang kerap menimpa investor kripto pemula. Dengan menyajikan data pasar secara transparan, terkurasi, dan mudah dipahami, COINWETON bertujuan memberdayakan pengguna agar mampu mengambil keputusan investasi berbasis data (data-driven decision making), bukan emosi. Proyek ini secara langsung mendukung pencapaian Sustainable Development Goals (SDGs) ke-8: Decent Work and Economic Growth, melalui peningkatan literasi finansial dan inklusi ekonomi digital.
Lebih dari sekadar price tracker konvensional, COINWETON mengintegrasikan asisten AI kontekstual (Cown AI) yang mampu menganalisis data pasar secara real-time, serta menyediakan fitur audit keamanan smart contract otomatis untuk mendeteksi potensi penipuan (scam/honeypot). Kombinasi fitur unggulan ini menjadikan COINWETON sebuah terminal data kripto yang komprehensif, dirancang tidak hanya untuk menyajikan informasi, melainkan untuk menginterpretasikannya bagi pengguna.
Dasbor utama menampilkan data pasar kripto global secara real-time, meliputi harga, kapitalisasi pasar, volume perdagangan 24 jam, dominasi Bitcoin, serta integrasi Fear & Greed Index untuk mengukur sentimen pasar terkini. Data disajikan dalam antarmuka dark mode yang profesional dan nyaman untuk penggunaan jangka panjang.
Sistem visualisasi data ganda yang mengintegrasikan dua engine grafik berbeda:
- Recharts - Grafik sparkline kustom untuk analisis tren cepat di halaman utama.
- TradingView - Grafik interaktif profesional di halaman detail koin untuk analisis teknikal mendalam, mendukung timeframe 1H, 24H, 7D, 30D, hingga 1 tahun.
Fitur deteksi scam dan honeypot otomatis yang memanfaatkan GoPlus Security API. Setiap token berbasis EVM (Ethereum, BSC, Polygon, dll.) diaudit secara otomatis untuk memeriksa:
- Status Honeypot (apakah token dapat dijual kembali)
- Fungsi Mint (risiko inflasi tak terbatas)
- Buy/Sell Tax (biaya tersembunyi)
- Status Owner Renounced (desentralisasi kontrak)
Hasil audit ditampilkan sebagai badge visual dengan level risiko: SAFE, CAUTION, atau DANGER.
Asisten AI cerdas yang ditenagai oleh arsitektur Retrieval-Augmented Generation (RAG) dengan dua tingkat konteks:
- Macro RAG - Menganalisis lanskap pasar global: Fear & Greed Index, tren kapitalisasi pasar, dan sentimen berita utama.
- Micro RAG - Mendalami data spesifik per koin: harga terkini, metrik fundamental, dan hasil audit keamanan kontrak.
Cown AI tidak hanya menjawab pertanyaan umum, melainkan memberikan analisis yang dikontekstualisasikan (grounded) dengan data pasar real-time, sehingga meminimalkan risiko halusinasi (hallucination).
Sistem watchlist personal yang memungkinkan pengguna menyimpan koin favorit lintas perangkat, didukung oleh autentikasi Google OAuth melalui Supabase Auth.
| Kategori | Teknologi | Keterangan |
|---|---|---|
| Framework | Next.js 16 (App Router) | React Server Components & Server Actions |
| Bahasa | TypeScript 5 | Strict mode untuk keamanan tipe data |
| Styling | Tailwind CSS 4 | Utility-first CSS framework |
| UI Library | Shadcn UI + Lucide Icons | Komponen UI headless yang dapat dikustomisasi |
| Database | PostgreSQL via Supabase | Region: ap-southeast-1 (Singapore) |
| ORM | Drizzle ORM | Type-safe query builder untuk PostgreSQL |
| Autentikasi | Supabase Auth + @supabase/ssr |
Google OAuth, session management |
| State Management | SWR | Client-side data fetching & caching |
| Charts | Recharts + TradingView Widget | Dual-chart rendering system |
| Layanan | Fungsi | Tipe |
|---|---|---|
| CoinGecko API | Data pasar kripto real-time (harga, volume, kapitalisasi) | REST API |
| GoPlus Security API | Audit keamanan smart contract EVM | REST API |
| OpenRouter | Gateway ke model LLM untuk Cown AI | REST API |
| NewsData API | Agregasi berita kripto global | REST API |
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CLIENT (Browser) β
β Next.js App Router β RSC + Client Components β
β βββββββββββββ ββββββββββββββββ ββββββββββββββββββββ β
β β Dashboard β β Coin Detail β β Cown AI Terminal β β
β βββββββββββββ ββββββββββββββββ ββββββββββββββββββββ β
ββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββ
β HTTP / Server Actions
ββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββ
β NEXT.JS SERVER (API Route Handlers) β
β β
β /api/coins β CoinGecko (ISR cache 60s) β
β /api/market β CoinGecko (ISR cache 60s) β
β /api/news β NewsData (ISR cache 300s) β
β /api/chat β OpenRouter LLM (Streaming POST) β
β /api/highlights β CoinGecko (ISR cache 120s) β
β /api/watchlist β Drizzle ORM (Auth required) β
β β
β βββββββββββββββββββ ββββββββββββββββββββββββββββββ β
β β Drizzle ORM β β Supabase Auth (SSR) β β
β ββββββββββ¬βββββββββ ββββββββββββββββ¬ββββββββββββββ β
βββββββββββββΌβββββββββββββββββββββββββββββΌββββββββββββββββββ
β β
βββββββββββββΌβββββββββββββββββββββββββββββΌββββββββββββββββββ
β SUPABASE (ap-southeast-1, Singapore) β
β PostgreSQL: users, watchlists (RLS enabled) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Panduan berikut ditujukan bagi dewan juri atau pihak lain yang ingin menjalankan aplikasi COINWETON di perangkat lokal.
- Node.js versi 18.0 atau lebih tinggi - Unduh di sini
- npm (tersedia otomatis bersama instalasi Node.js)
- Git - Unduh di sini
1. Clone repositori
git clone https://github.com/chulopp/CoinWeton.git
cd CoinWeton2. Instal dependensi
npm install3. Konfigurasi Environment Variables
Salin file template konfigurasi, lalu isi dengan kunci API yang diperlukan:
cp .env.example .env.localBuka file .env.local dan lengkapi setiap variabel sesuai petunjuk di dalamnya. Berikut keterangan singkat untuk setiap variabel:
| Variabel | Sumber | Keterangan |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL |
Supabase Dashboard | URL proyek Supabase |
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY |
Supabase Dashboard | Anon/public key |
DATABASE_URL |
Supabase Dashboard | Connection string (port 6543, transaction mode) |
DIRECT_URL |
Supabase Dashboard | Connection string (port 5432, direct) |
COINGECKO_API_KEY |
CoinGecko | API key (free tier) |
NEWSDATA_API_KEY |
NewsData.io | API key untuk berita |
GOPLUS_API_BASE |
- | https://api.gopluslabs.io/api/v1 |
OPENROUTER_API_KEY |
OpenRouter | API key untuk Cown AI |
CLIENT_ID / CLIENT_SECRET |
Google Cloud Console | OAuth 2.0 credentials |
4. Jalankan development server
npm run dev5. Akses aplikasi
Buka browser dan navigasi ke alamat berikut:
http://localhost:3000
Catatan: Pastikan koneksi internet aktif, karena aplikasi membutuhkan akses ke API eksternal (CoinGecko, GoPlus, OpenRouter) untuk menampilkan data secara real-time.
CoinWeton/
βββ src/
β βββ app/ # Next.js App Router (pages & API routes)
β β βββ api/ # Server-side API proxy routes
β β β βββ chat/ # Cown AI endpoint (OpenRouter)
β β β βββ coins/ # CoinGecko market data proxy
β β β βββ highlights/ # Trending & gainers data
β β β βββ market/ # Global market statistics
β β β βββ news/ # NewsData aggregation
β β β βββ search/ # Coin search endpoint
β β β βββ watchlist/ # CRUD watchlist (auth required)
β β βββ coins/[id]/ # Halaman detail koin (dynamic route)
β β βββ cown-ai/ # Halaman terminal Cown AI
β β βββ watchlist/ # Halaman watchlist pengguna
β β βββ page.tsx # Halaman utama (dashboard)
β βββ components/ # Komponen UI React
β β βββ coin-detail/ # Komponen detail koin & chart
β β βββ highlights/ # Kartu trending, gainers, Fear & Greed
β β βββ layout/ # Navbar, Footer
β β βββ market/ # Tabel pasar utama
β β βββ ui/ # Shadcn UI base components
β βββ db/ # Drizzle ORM schema & connection
β βββ lib/ # Utility & data fetching functions
β βββ utils/ # Supabase client utilities
βββ drizzle/ # Database migration files
βββ data/ # Dokumentasi internal (PRD, user flows)
βββ public/ # Aset statis (logo, ikon)
βββ .env.example # Template environment variables
βββ drizzle.config.ts # Konfigurasi Drizzle ORM
βββ next.config.ts # Konfigurasi Next.js
βββ package.json # Dependensi & scripts
βββ tsconfig.json # Konfigurasi TypeScript
Proyek ini dikembangkan oleh mahasiswa Universitas Diponegoro:
| Nama | Peran |
|---|---|
| Fallah Iqbal Kurnianto | Lead Developer & System Architect |
Proyek ini dilisensikan di bawah MIT License.
Terima kasih kepada penyedia infrastruktur data yang mendukung platform ini:
Β Β Β
Β Β Β
OpenRouterΒ Β Β
NewsData.ioΒ Β Β
Dibangun dengan β€οΈ dari Universitas Diponegoro