https://github.com/bvhand487/trading-sim
Cryptocurrency trading simulator made with React.js, Sprint Boot and PostgreSQL.
https://github.com/bvhand487/trading-sim
cryptocurrency docker postgresql reactjs simulator spring-boot
Last synced: 2 months ago
JSON representation
Cryptocurrency trading simulator made with React.js, Sprint Boot and PostgreSQL.
- Host: GitHub
- URL: https://github.com/bvhand487/trading-sim
- Owner: BvHand487
- License: mit
- Created: 2025-07-09T09:06:17.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-09T10:35:25.000Z (12 months ago)
- Last Synced: 2025-07-09T10:40:43.683Z (12 months ago)
- Topics: cryptocurrency, docker, postgresql, reactjs, simulator, spring-boot
- Language: TypeScript
- Homepage:
- Size: 596 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# trading-sim
Cryptocurrency trading simulator made with React.js, Sprint Boot and PostgreSQL.
## 🚀 Running locally
#### 1. Clone the repository:
```bash
git clone https://github.com/BvHand487/trading-sim.git
cd trading-sim
```
#### 2. Build and start the containers using Docker
```bash
docker-compose up --build
```
#### 3. Access the application
* Frontend - ```http://localhost:5173/```
* Backend API - ```http://localhost:8080/api```
* Database Admin (adminer) - ```http://localhost:8081```
## 📷 Screenshots
Home page
Overview of all currencies and wallets.
Buy/Sell
Allows the user to specify from which wallet to buy/sell from and how much currency.
Update after Buy/Sell
The wallet balance and holdings have changed. A transaction is added.
Log in
User authentication with tokens.
Landing page
Simple landing page with links to the home page and log in page.
## 🎥 Video
...
## 🔮 Future Improvements
* Price validation for every transaction (right now the websocket is connected to the frontend for visual updates only)
* Dynamic updating of top 20 crytocurrencies (right now there are 20 currencies which are hard-coded into the database)
* Username/password validation (e.g. >8 letters)
* Unit tests
* More thorough error handling and user feedback
## 📄 License
This project is licensed under the MIT License. For more details, please refer to the LICENSE file.