A web application template for tracking trading strategy. Uses Interactive Brokers (IBKR) as an example. Configure trading strategies, monitor performance, and optimize your trades through an intuitive interface.
- 🔐 Authentication with Supabase
- 📊 Real-time trading dashboard
- ⚙️ Strategy configuration and management
- 📈 Performance monitoring and analytics
- 🔧 Account and API settings management
- Docker and Docker Compose installed on your machine
- Node.js 18+ (if running without Docker)
- Interactive Brokers account with API access
- Modern web browser (Chrome, Firefox, Safari, Edge)
- Clone the repository:
git clone <repository-url>
cd my-app
- Create a
.env.local
file in the project root with your Supabase credentials:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
NODE_ENV=development
- Start the development server using Docker:
docker-compose -f docker-compose.yml -f docker/development/docker-compose.dev.yml up --build
- Open http://localhost:3000 in your browser
-
Landing Page
- Initial welcome screen
- Options to sign in or create account
-
Authentication
- Sign in with email/password
- New users can create an account
-
Dashboard
- Overview of active strategies
- Performance metrics
- Quick access to key features
-
Strategy Setup
- Create new trading strategies
- Configure parameters
- Select stocks and risk levels
-
Performance Monitoring
- Track strategy performance
- View detailed analytics
- Export reports
-
Settings
- Account management
- API key configuration
- Notification preferences
Start development server:
docker-compose -f docker-compose.yml -f docker/development/docker-compose.dev.yml up --build
Stop containers:
docker-compose down
View logs:
docker-compose logs -f
Remove volumes and containers:
docker-compose down -v
- Install dependencies:
npm install
- Run development server:
npm run dev
- Visit Supabase and click "Start your project"
- Sign up with your GitHub account
- Create a new project:
- Give your project a name (e.g., "ibkr-auto-dev")
- Set a secure database password
- Choose your region (pick one closest to you)
- Click "Create new project"
- Wait for your project to be initialized (about 1 minute)
- In your Supabase project dashboard:
- Click "Project Settings" (gear icon) in the left sidebar
- Click "API" in the settings menu
- You'll find two key pieces of information:
Project URL
: Copy this into your .env.local asNEXT_PUBLIC_SUPABASE_URL
anon public
: Copy this into your .env.local asNEXT_PUBLIC_SUPABASE_ANON_KEY
- In your Supabase project:
- Go to "Authentication" in the left sidebar
- Click "Users" tab
- Click "New User"
- Enter your developer credentials:
- Email: (e.g., "dev@yourdomain.com")
- Password: Create a secure password
Your final .env.local
should look like this:
NEXT_PUBLIC_SUPABASE_URL=your-project-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
NODE_ENV=development
Required environment variables:
NEXT_PUBLIC_SUPABASE_URL
: Your Supabase project URLNEXT_PUBLIC_SUPABASE_ANON_KEY
: Your Supabase anonymous key
-
If the app doesn't load:
- Clear browser cache and cookies
- Check Docker logs for errors
- Verify environment variables
-
Authentication issues:
- Clear local storage
- Check Supabase credentials
- Verify email confirmation
-
Docker-specific:
- Run
docker-compose down -v
to clean up - Rebuild with
--no-cache
flag - Check port conflicts
- Run
- The application uses port 3000 by default
- Hot reloading is enabled in development
- API rate limits apply to demo accounts
- Test trades are simulated in development
- Never commit .env files
- Regularly rotate API keys
- Use strong passwords
- Clear browser data when testing
- Don't share account credentials
- Fork the repository
- Create feature branch
- Commit changes
- Push to branch
- Submit Pull Request