Get the Credit Card Payment Optimizer running in 10 minutes.
- Android Studio Hedgehog (2023.1.1) or later
- Node.js 18+ and npm
- JDK 17 or later
- Android SDK API 26+
- Plaid Account (free sandbox)
cd /home/ilyk/projects/pets/cccd backend
npm install- Sign up at Plaid Dashboard
- Get your sandbox credentials
- Create
.envfile:
# Plaid Configuration
PLAID_CLIENT_ID=your_client_id_here
PLAID_SECRET=your_sandbox_secret_here
PLAID_ENV=sandbox
# JWT Secret (generate a random string)
JWT_SECRET=your-super-secret-jwt-key-change-this-in-production
# Database
DATABASE_URL=./data/cc_optimizer.db
DB_TYPE=sqlite
# Server
PORT=3000
NODE_ENV=development
# Optional: LLM for AI-powered statement detection
LLM_PROVIDER=none
# To enable LLM, use: openai or anthropic
# OPENAI_API_KEY=sk-your-key
# ANTHROPIC_API_KEY=sk-ant-your-keynpm startYou should see:
Server running on port 3000
Environment: development
Plaid environment: sandbox
Health check: http://localhost:3000/health
- Open Android Studio
File > Open→ Select/home/ilyk/projects/pets/cc- Wait for Gradle sync
Edit app/src/main/java/com/ccoptimizer/app/data/api/RetrofitClient.kt:
// For Android Emulator
private const val BASE_URL = "http://10.0.2.2:3000/"
// For Physical Device (use your computer's local IP)
// private const val BASE_URL = "http://192.168.1.100:3000/"- Select a device/emulator (API 26+)
- Click Run (
▶️ ) - App launches!
- Tap "Connect with Plaid"
- Select any bank (e.g., "Chase")
- Use test credentials:
- Username:
user_good - Password:
pass_good
- Username:
- Select credit card accounts
- Complete the flow
The app will display:
- Your connected credit cards
- Current balances
- Statement closing dates
- Recommended payment dates
- Payment amounts
You now have a fully functional Credit Card Payment Optimizer!
- Explore Features: Try dark mode, notifications, and settings
- Read Documentation: System Overview
- Customize: Configure bank processing times and holidays
- Deploy: See Deployment Guide
# Check if port 3000 is available
lsof -i :3000
# Try a different port
PORT=3001 npm startEmulator: Use http://10.0.2.2:3000/
Physical Device: Use your computer's IP http://192.168.x.x:3000/
# Find your IP (Linux/Mac)
ip addr show | grep "inet "
# Test backend from device browser
http://YOUR_IP:3000/health- Verify backend is running
- Check Plaid credentials in
.env - Check logcat for errors
Next: System Overview to understand how it works!