Management Portal for FinCom's signature event: Trader's Arena.
A Flask-based web application for managing trading competitions, where teams can participate in simulated stock trading events with virtual portfolios.
- Multi-round trading competitions
- Real-time portfolio tracking
- Stock price management
- Team management
- Transaction history
- Market news updates
- Participant portal with individual dashboards
- Backend: Python Flask
- Database: MongoDB
- Frontend: HTML, CSS, JavaScript
- Install Python dependencies:
pip install -r requirements.txt- Set up MongoDB:
- Install MongoDB on your system
- Create a new database named
traders_arena - No additional setup required as collections are created automatically
- Configure Environment:
Create a
.envfile in the root directory with the following variables:
MONGODB_URI=mongodb://localhost:27017/traders_arena
USERS=admin,manager # Comma-separated list of admin usernames
PASSWORD=your_secure_password # Single password for all admin users
- Run the Application:
python app.py- Access
/loginwith credentials from.env - Create new competitions
- Add teams and initial portfolios
- Manage stock prices and rounds
- Add market news
- Teams login with their unique participant ID
- View portfolio and transaction history
- Execute trades during active rounds
- Track performance across competition rounds
- Debug mode can be enabled in
app.py - MongoDB collections:
- teams
- competitions
- stocks
- transactions
- stock_news
- rounds
A Dockerfile is included for containerized deployment. Build and run with:
docker build -t traders-arena .
docker run -p 5000:5000 traders-arena