TradeOff is a web application that allows you to track your portfolio and see how it performs against the market. It enables you to start competitions with your friends and see who comes out on top. The application provides real-time stock data, portfolio tracking, and social features for competitive trading.
- Real-time stock data tracking
- Portfolio management
- Competition creation and management
- Performance analytics
- Social features for comparing with friends
- Historical performance tracking
Before you begin, ensure you have the following installed:
- Node.js (v14 or higher)
- npm (v6 or higher)
- MongoDB (or MongoDB Atlas account)
git clone [repository-url]
cd tradeoff- Register for a free Finnhub API key at https://finnhub.io/register
- Create a
.envfile in theserverdirectory with the following content:
FINNHUB_API_KEY="your_key_here"
PORT=8080
MONGODB_URI="your_mongodb_connection_string"
- Create an account on MongoDB Atlas (https://www.mongodb.com/cloud/atlas)
- Create a new cluster
- Create a database user with read and write access
- Whitelist your IP address in the Network Access settings
- Get your connection string from Atlas and add it to the
.envfile asMONGODB_URI
cd server
npm install
node index.jsThe server will start running on http://localhost:8080
cd client
npm install
npm run devThe client will start running on http://localhost:5173
tradeoff/
├── client/ # Frontend React application
├── server/ # Backend Node.js server
│ ├── index.js # Main server file
│ └── .env # Environment variables
└── README.md
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is done for CS35L Spring 2025