Get the Cryptocurrency Wallet & Trading Engine Simulator up and running in minutes.
java -version # Should show Java 21
mvn -version # Should show Maven 3.9+
docker --version # Should show Docker (optional, for integration tests)# Start PostgreSQL, Zookeeper, and Kafka
docker-compose up -d postgres zookeeper kafka
# Wait for services to be ready (check logs)
docker-compose logs -f# Build the project
mvn clean package
# Run the application
mvn spring-boot:runOr run via Docker:
docker-compose up --build app# Check health
curl http://localhost:8080/actuator/health
# Should return: {"status":"UP"}curl -X POST http://localhost:8080/api/v1/users \
-H "Content-Type: application/json" \
-d '{"email":"trader@example.com","name":"John Doe"}'curl -X POST "http://localhost:8080/api/v1/wallets/deposit?userId=1¤cy=USDT" \
-H "Content-Type: application/json" \
-d '{"amount": 10000}'curl -X POST "http://localhost:8080/api/v1/orders?userId=1" \
-H "Content-Type: application/json" \
-d '{
"type": "LIMIT",
"side": "BUY",
"baseCurrency": "BTC",
"quoteCurrency": "USDT",
"price": 50000,
"quantity": 0.1
}'curl http://localhost:8080/api/v1/market/orderbook/BTC/USDTmvn testExpected: All 65 unit tests pass ✅
# Ensure Docker is running
docker ps
# Run integration tests
mvn verifyChange port in application.properties:
server.port=8081- Unit tests will still pass
- Integration tests will be skipped
- Application can run without Docker (use local PostgreSQL/Kafka)
Check PostgreSQL is running:
docker-compose ps postgresCheck Kafka is running:
docker-compose ps kafka- Read API Documentation for complete API reference
- Check Architecture Overview to understand the system
- Review Testing Guide for testing strategies