InvestAI adalah platform pembelajaran dan paper trading (simulasi saham) komprehensif yang dirancang untuk membantu pemula dan investor tingkat menengah menguasai pasar modal tanpa risiko finansial nyata.
Aplikasi ini menggunakan teknologi AI modern untuk menganalisis dan memandu Anda dalam keputusan investasi.
Proyek ini memiliki arsitektur microservices yang memisahkan tanggung jawab antara frontend, backend logika bisnis, dan backend kecerdasan buatan (AI).
- Lokasi: Root directory (
/) - Fungsi: Antarmuka web modern berupa Single Page Application (SPA) tempat pengguna berinteraksi langsung. Mengelola manajemen state (autentikasi, portofolio simulasi saham), visualisasi chart pergerakan harga, dan tampilan dashboard edukasi.
- Teknologi: React 18, Vite, TypeScript, TailwindCSS, Lucide React (untuk ikon), Framer Motion (untuk animasi).
- Lokasi:
/backend - Fungsi: Core API server yang melayani permintaan dari frontend. Menangani registrasi & autentikasi (JWT + Google OAuth), mengelola transaksi simulasi paper trading (beli/jual saham, riwayat saldo), progres belajar akademi, dan menyimpan riwayat chat mentorship.
- Teknologi: Node.js, Express.js, JSON Web Tokens (JWT),
@azure/msal-node.
- Lokasi:
/backend/ai - Fungsi: Server khusus yang bertugas melakukan komputasi berat. Modul ini bertugas menarik data saham harian (historical data) dari Yahoo Finance, menghitung 35 indikator teknikal secara real-time, memasukkan data ke model XGBoost untuk memprediksi sinyal saham (BULLISH/BEARISH), dan melayani AI Chat Mentor dengan model Groq Llama 3.
- Teknologi: Python, FastAPI, Uvicorn, Pandas, Scikit-Learn, XGBoost, Groq API, yfinance, TA-Lib (alternatif).
- Lokasi: Cloud-hosted (skema SQL ada di
/backend/db) - Fungsi: Penyimpanan data utama yang relasional (RDBMS). Menyimpan tabel
Users,Portfolios,Holdings(saham yang dimiliki di simulator),Transactions,Mentorship_Sessions, danUser_Watched_Videos(progres akademi). - Teknologi: Microsoft Azure SQL Database.
Pastikan sistem Anda sudah memiliki:
- Node.js (Versi 18 atau ke atas)
- Python (Versi 3.8 atau ke atas, dengan PIP terinstal dan sudah masuk PATH Windows)
Buka terminal di root direktori proyek (Invest/) dan jalankan:
npm installBuka terminal baru, navigasikan ke folder backend, lalu jalankan instalasi:
cd backend
npm installBuka terminal baru, navigasikan ke folder backend/ai, dan buat Virtual Environment:
cd backend/ai
# Buat virtual environment bernama 'venv'
py -m venv venv
# Aktifkan virtual environment
.\venv\Scripts\activate
# Install semua requirements (FastAPI, Pandas, Scikit-Learn, dll)
py -m pip install -r requirements.txt(Catatan: Jika py tidak dikenali, Anda bisa mencoba menggunakan python atau python3)
Untuk menjalankan seluruh platform, Anda harus menjalankan sisi Frontend dan kedua sisi Backend.
Di terminal utama (berada di root folder Invest/), jalankan:
npm run devIni akan membuka aplikasi web di browser Anda (biasanya di http://localhost:3000).
Kami telah menyediakan script automasi untuk mempermudah. Buka terminal baru dan jalankan:
cd backend
.\start-backends.batScript tersebut otomatis akan memicu dua window terminal baru:
- Terminal 1: Backend Express di Port 5000.
- Terminal 2: Backend AI FastAPI di Port 8000.
Pro Tip: Jika ingin menjalankan secara manual, jalankan
npm run devdi folderbackend, dan jalankanuvicorn app.main:app --reload --port 8000di dalam folderbackend/ai(pastikan venv sudah aktif).
Jika menggunakan API keys untuk servis eksternal, pastikan untuk mendefinisikannya:
- Untuk Frontend: Gunakan
.env.localdi root. - Untuk Backend: Gunakan
.envdi dalam folderbackend/. - Untuk AI (Python FastAPI):
- Masuk ke folder
backend/ai/. - Salin file template
.env.examplemenjadi.env:copy .env.example .env
- Buka file
.envbaru tersebut, lalu isiGROQ_API_KEYAnda dengan API Key dari Groq Console (gratis).
- Masuk ke folder
InvestAI menggunakan Machine Learning untuk memprediksi pergerakan harga saham di Bursa Efek Indonesia (IDX). Berikut adalah gambaran singkat alur pemrosesan datanya:
- Bahan Mentah (Raw Data): Data harga historis (Open, High, Low, Close, Volume) ditarik dari Yahoo Finance.
- Bumbu Dapur (Features): Dihitung 35 indikator teknikal (RSI, MACD, Bollinger Bands, ATR, Volatility, dll.).
- Koki Pintar (Model): Algoritma XGBoost (
xgb_model.pkl) mencicipi indikator tersebut untuk memprediksi arah harga saham. - Sajian Akhir (Output): Menghasilkan rekomendasi BUY/SELL, target Take Profit/Stop Loss, dan Confidence Score.
Saat frontend meminta data prediksi untuk satu saham (misalnya BBCA):
- FastAPI (
backend/ai/app/services/prediction_service.py) menarik data terbaru viayfinance. - Sistem memproses 35 indikator teknikal pada data tersebut secara real-time.
- Data hasil kalkulasi dimasukkan ke model
xgb_model.pklyang sudah di-load di memori server. - Prediksi dan skor keyakinan dikirim kembali ke React Frontend dalam format JSON untuk dirender menjadi visualisasi grafik yang interaktif.