Skip to content

mkantrr/decomplexify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Decomplexify

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.


Table of Contents

  1. Features
  2. Technologies Used
  3. Setup Instructions
  4. Running the Application
  5. License

Features

  • 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.

Technologies Used

  • Back-End: Python, Flask
  • Front-End: React (TypeScript), Material-UI
  • Database: SQLite (or any other supported DB backend)
  • Others: Docker, Axios

Setup Instructions

Back-End Setup (Flask)

  1. Clone the repository:

    git clone https://github.com/your-username/decomplexify.git
    cd decomplexify/instruction_set
  2. Set up a Python virtual environment:

    python3 -m venv venv
    source venv/bin/activate    # On Windows: venv\Scripts\activate
  3. Install the required dependencies:

    pip install -r requirements.txt
  4. Run the Flask API:

    python api.py

    The back-end will now be running at http://localhost:3001.

Running with Docker

  1. Build the Docker image:

    docker build -t decomplexify-backend .
  2. Run the Docker container:

    docker run -p 3001:5000 decomplexify-backend

    The back-end will now be running at http://localhost:3001.


Front-End Setup (React)

  1. Navigate to the front-end directory:

    cd ../web-abms
  2. Install the dependencies:

    npm install
  3. Start the development server:

    npm start

    The front-end will now be running at http://localhost:3000.

  4. Install required packages through NPM (if not installed):

    npm install react react-router-dom @mui/material @emotion/react @emotion/styled papaparse file-saver xlsx

Running the Application

Back-End

  1. Ensure the Flask back-end API is running.
    • If using a virtual environment:
      source venv/bin/activate    # On Windows: venv\Scripts\activate
      python api.py
      The API will run on http://localhost:3001.
    • If using Docker:
      docker run -p 3001:3001 decomplexify-backend
      The API will run on http://localhost:3001.

Front-End

  1. Navigate to the front-end directory:

    cd web-abms
  2. Start the React development server:

    npm start

    The front-end will run on http://localhost:3000.

Full Application

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.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

A BDD framework for developing agent-based models (GA Tech EdTech)

Resources

License

Stars

Watchers

Forks