A professional platform for developing, testing, and competing with algorithmic stock market trading bots
- Overview
- Features
- Getting Started
- API Documentation
- Authors & Contributions
- Citations & Attributions
- Live Deployment
AlgoBattle is a sophisticated platform designed for financial technology enthusiasts, algorithmic traders, and developers interested in stock market automation. The platform enables users to create, deploy, and monitor algorithmic trading bots in a controlled environment with real market data.
The system consists of two main components:
- Web Dashboard: A modern, responsive interface for managing bots, viewing performance metrics, and analyzing trading history
- API Backend: A robust server-side infrastructure that handles bot interactions, executes trades, and provides market data
- Algorithmic Trading: Develop and deploy custom trading algorithms without risking real capital
- Real-Time Market Data: Access to current and historical stock prices from major exchanges
- Performance Analytics: Track your bot's performance with comprehensive metrics and visualizations
- Leaderboard Competition: Compare your bot's performance against others in the community
- Secure Authentication: Firebase-powered user authentication and API key management
- RESTful API: Well-documented API for programmatic interaction with the platform
Choose one of the following options to start using AlgoBattle:
This option allows you to quickly explore AlgoBattle without setting up the development environment.
Visit our live deployment at https://algobattle.vercel.app
- Sign in using your preferred method (Google authentication recommended)
- For a quick demo without registration, use these credentials:
- Username:
[email protected]
- Password:
imbadatcs
- Username:
- After signing in, click the "Create a bot" button if no bots exist
- Provide a name for your bot and click "Save"
- Refresh the page to view your bot's dashboard
- Note: Historical account value data may take a few minutes to appear
- For developers with custom bots: Use the API key displayed on your dashboard
- For testing purposes: Use our example client script by right-clicking the
client.ps1
file and selecting run with PowerShell. Follow the prompts to enter your API key and desired actions. This script will simulate trading activity for your bot.
Your dashboard will display transactions and account value updates, which are recalculated daily.
This option is for developers who want to set up the complete AlgoBattle environment on their local machine.
- Node.js ≥ 18
- npm or yarn package manager
git clone https://github.com/TheScientist101/algobattle.git
cd algobattle/web
npm install
# or if using yarn
# yarn install
- Create a new Firebase project and register a web app
- Create a
.env
file in the web directory with the following variables:
# Firebase Configuration
NEXT_PUBLIC_API_KEY="YOUR_FIREBASE_API_KEY"
NEXT_PUBLIC_AUTH_DOMAIN="YOUR_AUTH_DOMAIN"
NEXT_PUBLIC_PROJECT_ID="YOUR_PROJECT_ID"
NEXT_PUBLIC_STORAGE_BUCKET="YOUR_STORAGE_BUCKET"
NEXT_PUBLIC_MESSAGING_SENDER_ID="YOUR_MESSAGING_SENDER_ID"
NEXT_PUBLIC_APP_ID="YOUR_APP_ID"
NEXT_PUBLIC_MEASUREMENT_ID="YOUR_MEASUREMENT_ID"
npm run dev
# or if using yarn
# yarn dev
The web application will be available at http://localhost:3000
For production deployment, we recommend using Vercel:
- Follow the Vercel deployment guide
- Ensure all environment variables are properly configured in your Vercel project settings
- Go ≥ 1.23
- Git
git clone https://github.com/TheScientist101/algobattle.git
cd algobattle/server
go run urjith.dev/algobattle
The API server will be available at http://localhost:8080
AlgoBattle provides a comprehensive RESTful API that allows developers to programmatically interact with the platform. The API enables your trading bots to:
- Retrieve real-time and historical market data
- Execute buy and sell transactions
- Monitor portfolio performance
- Manage watchlists and track specific stocks
For complete technical details, endpoint specifications, and code examples, please refer to our API Documentation.
Feature | Description |
---|---|
Authentication | Secure API key-based authentication system |
Portfolio Management | Retrieve account balances, holdings, and transaction history |
Market Data | Access to current and historical stock prices and indicators |
Trading | Execute buy and sell orders programmatically |
Error Handling | Comprehensive error reporting and status codes |
AlgoBattle was developed by a team of dedicated engineers with expertise in financial technology and web development.
Contributor | Role | Contributions |
---|---|---|
Abhinav Devarakonda | Frontend Developer | • Designed and implemented the web application interface • Built authentication system with Firebase integration • Developed the dashboard for bot monitoring and analytics • Created interactive data visualizations for performance tracking • Implemented the leaderboard system for competitive rankings |
Urjith Mishra | Backend Developer | • Architected and built the server-side API infrastructure • Developed the trading engine and transaction processing system • Implemented market data integration and caching mechanisms • Created portfolio valuation and performance calculation algorithms • Designed the API authentication and security protocols |
Technology | Description | Version |
---|---|---|
Next.js | React framework for server-side rendering | 13.0+ |
React | JavaScript library for building user interfaces | 18.0+ |
Tailwind CSS | Utility-first CSS framework | 3.0+ |
Firebase | Authentication and database services | 9.0+ |
Shadcn UI | Component library for Next.js | Latest |
UUID | Library for generating unique identifiers | 9.0+ |
Technology | Description | Version |
---|---|---|
Go | Programming language for backend services | 1.23+ |
Gin Gonic | HTTP web framework for Go | Latest |
Tool | Purpose |
---|---|
v0.dev | AI-powered component generator for Next.js |
ChatGPT | AI assistant for documentation and debugging |
- Next.js Documentation – Official framework guides and API reference
- Tailwind CSS Documentation – Component styling and utility classes
- Firebase Documentation – Authentication and database integration
- Go Documentation – Language reference and standard library
Experience the platform at algobattle.vercel.app