Decomplexify is a powerful tool designed to help students understand and build complex systems using an intuitive, agent-based modeling framework. The app provides a no-code/low-code interface for defining models and agents using a cucumber like instruction set developed through Python's behave package.
- Define agent-based models using a Gherkin-style grammar.
- Dynamic grid rendering with customizable dimensions.
- Real-time data fetching and interactive controls.
- Modern UI with support for light and dark themes.
- Detailed error handling and feedback.
- Back-End: Python, Flask
- Front-End: React (TypeScript), Material-UI
- Database: SQLite (or any other supported DB backend)
- Others: Docker, Axios
-
Clone the repository:
git clone https://github.com/your-username/decomplexify.git cd decomplexify/instruction_set
-
Set up a Python virtual environment:
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install the required dependencies:
pip install -r requirements.txt
-
Run the Flask API:
python api.py
The back-end will now be running at
http://localhost:3001
.
-
Build the Docker image:
docker build -t decomplexify-backend .
-
Run the Docker container:
docker run -p 3001:5000 decomplexify-backend
The back-end will now be running at
http://localhost:3001
.
-
Navigate to the front-end directory:
cd ../web-abms
-
Install the dependencies:
npm install
-
Start the development server:
npm start
The front-end will now be running at
http://localhost:3000
. -
Install required packages through NPM (if not installed):
npm install react react-router-dom @mui/material @emotion/react @emotion/styled papaparse file-saver xlsx
- Ensure the Flask back-end API is running.
- If using a virtual environment:
The API will run on
source venv/bin/activate # On Windows: venv\Scripts\activate python api.py
http://localhost:3001
. - If using Docker:
The API will run on
docker run -p 3001:3001 decomplexify-backend
http://localhost:3001
.
- If using a virtual environment:
-
Navigate to the front-end directory:
cd web-abms
-
Start the React development server:
npm start
The front-end will run on
http://localhost:3000
.
Once both the back-end and front-end servers are running:
- Visit
http://localhost:3000
in your browser to access Decomplexify. - Ensure the back-end API is correctly connected at
http://localhost:3001
.
This project is licensed under the MIT License. See the LICENSE file for details.