Skip to content

Repository files navigation

COINWETON Logo

COINWETON

Smart Crypto Tracker & AI Assistant

Next.jsTypeScriptTailwind CSSSupabaseDrizzle ORM


📌 Tentang Proyek

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.


✨ Fitur Unggulan

📊 Real-Time Market Dashboard

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.

📈 Dual-Chart System

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.

🛡️ Smart Contract Security Audit

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.

🤖 Cown AI - RAG-Based AI Assistant

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).

⭐ Watchlist & Autentikasi

Sistem watchlist personal yang memungkinkan pengguna menyimpan koin favorit lintas perangkat, didukung oleh autentikasi Google OAuth melalui Supabase Auth.


🏗️ Arsitektur & Teknologi

Tech Stack Utama

KategoriTeknologiKeterangan
FrameworkNext.js 16 (App Router)React Server Components & Server Actions
BahasaTypeScript 5Strict mode untuk keamanan tipe data
StylingTailwind CSS 4Utility-first CSS framework
UI LibraryShadcn UI + Lucide IconsKomponen UI headless yang dapat dikustomisasi
DatabasePostgreSQL via SupabaseRegion: ap-southeast-1 (Singapore)
ORMDrizzle ORMType-safe query builder untuk PostgreSQL
AutentikasiSupabase Auth + @supabase/ssrGoogle OAuth, session management
State ManagementSWRClient-side data fetching & caching
ChartsRecharts + TradingView WidgetDual-chart rendering system

Integrasi API Pihak Ketiga

LayananFungsiTipe
CoinGecko APIData pasar kripto real-time (harga, volume, kapitalisasi)REST API
GoPlus Security APIAudit keamanan smart contract EVMREST API
OpenRouterGateway ke model LLM untuk Cown AIREST API
NewsData APIAgregasi berita kripto globalREST API

Diagram Arsitektur Tingkat Tinggi

┌──────────────────────────────────────────────────────────┐
│ 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 Instalasi Lokal

Panduan berikut ditujukan bagi dewan juri atau pihak lain yang ingin menjalankan aplikasi COINWETON di perangkat lokal.

Prasyarat

Langkah-Langkah Instalasi

1. Clone repositori

git clone https://github.com/chulopp/CoinWeton.git
cd CoinWeton

2. Instal dependensi

npm install

3. Konfigurasi Environment Variables

Salin file template konfigurasi, lalu isi dengan kunci API yang diperlukan:

cp .env.example .env.local

Buka file .env.local dan lengkapi setiap variabel sesuai petunjuk di dalamnya. Berikut keterangan singkat untuk setiap variabel:

VariabelSumberKeterangan
NEXT_PUBLIC_SUPABASE_URLSupabase DashboardURL proyek Supabase
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEYSupabase DashboardAnon/public key
DATABASE_URLSupabase DashboardConnection string (port 6543, transaction mode)
DIRECT_URLSupabase DashboardConnection string (port 5432, direct)
COINGECKO_API_KEYCoinGeckoAPI key (free tier)
NEWSDATA_API_KEYNewsData.ioAPI key untuk berita
GOPLUS_API_BASE-https://api.gopluslabs.io/api/v1
OPENROUTER_API_KEYOpenRouterAPI key untuk Cown AI
CLIENT_ID / CLIENT_SECRETGoogle Cloud ConsoleOAuth 2.0 credentials

4. Jalankan development server

npm run dev

5. 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.


📂 Struktur Proyek

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

👥 Tim Pengembang

Proyek ini dikembangkan oleh mahasiswa Universitas Diponegoro:

NamaPeran
Fallah Iqbal KurniantoLead Developer & System Architect

📜 Lisensi & Pengakuan

Proyek ini dilisensikan di bawah MIT License.

Terima kasih kepada penyedia infrastruktur data yang mendukung platform ini:

CoinGeckoGoPlus SecurityOpenRouterNewsData.ioSupabase


Dibangun dengan ❤️ dari Universitas Diponegoro

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages