85 lines
2.4 KiB
Markdown
85 lines
2.4 KiB
Markdown
# Development Setup
|
|
|
|
This document describes how to set up and run the Markov Economics application in a development environment.
|
|
|
|
## Prerequisites
|
|
|
|
- Docker
|
|
- Docker Compose
|
|
|
|
## Development Environment
|
|
|
|
For development purposes, we provide a separate Docker Compose configuration that runs the application without Caddy:
|
|
|
|
```bash
|
|
# Start the development environment
|
|
docker-compose -f docker-compose-dev.yml up -d
|
|
|
|
# Stop the development environment
|
|
docker-compose -f docker-compose-dev.yml down
|
|
```
|
|
|
|
The application will be available at http://localhost:5000
|
|
|
|
## Differences from Production
|
|
|
|
The development setup differs from the production setup in the following ways:
|
|
|
|
1. Direct access to the application on port 5000 (no Caddy reverse proxy)
|
|
2. Development mode enabled (FLASK_ENV=development)
|
|
3. Source code mounted as a volume for live reloading during development
|
|
4. No SSL/TLS encryption (HTTP only)
|
|
|
|
## Troubleshooting
|
|
|
|
If you encounter port conflicts:
|
|
|
|
1. Check what's running on port 5000:
|
|
```bash
|
|
lsof -i :5000
|
|
```
|
|
|
|
2. Stop any conflicting processes:
|
|
```bash
|
|
pkill -f "python.*run.py"
|
|
```
|
|
|
|
3. Stop any conflicting Docker containers:
|
|
```bash
|
|
docker-compose down
|
|
```
|
|
|
|
## Testing
|
|
|
|
The project includes several test scripts to verify functionality:
|
|
|
|
1. **[test_core.py](file:///home/ubuntu/capitalism-eats-the-world/test_core.py)** - Tests core functionality including Markov chains, economic agents, and simulations
|
|
2. **[test_charts.py](file:///home/ubuntu/capitalism-eats-the-world/test_charts.py)** - Tests charting functionality through the web API
|
|
3. **[test_simulation.json](file:///home/ubuntu/capitalism-eats-the-world/test_simulation.json)** - Sample parameters for testing
|
|
|
|
To run the core tests:
|
|
```bash
|
|
docker-compose -f docker-compose-dev.yml up -d
|
|
python test_core.py
|
|
```
|
|
|
|
To run the chart tests:
|
|
```bash
|
|
docker-compose -f docker-compose-dev.yml up -d
|
|
python test_charts.py
|
|
```
|
|
|
|
## Testing the Wealth Distribution Fix
|
|
|
|
The recent fix for the wealth distribution histogram ensures that:
|
|
|
|
1. The backend correctly calculates agent wealth using the proper accessor methods
|
|
2. The frontend properly handles and displays distribution data
|
|
3. Debug logging is available to troubleshoot data flow issues
|
|
|
|
To test the fix:
|
|
|
|
1. Start the development environment
|
|
2. Navigate to http://localhost:5000
|
|
3. Start a simulation with default parameters
|
|
4. Observe the wealth distribution histogram populating with data |