Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jefersoneiji/decision-engine
No-code decision engine for non-coders. These rules after created can become an API ready for consumption. Made with ReactFlow + Flask
https://github.com/jefersoneiji/decision-engine
cicd git reactflow reactjs tailwindcss typescript
Last synced: 3 months ago
JSON representation
No-code decision engine for non-coders. These rules after created can become an API ready for consumption. Made with ReactFlow + Flask
- Host: GitHub
- URL: https://github.com/jefersoneiji/decision-engine
- Owner: jefersoneiji
- Created: 2024-04-05T13:04:44.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-08-19T13:29:32.000Z (5 months ago)
- Last Synced: 2024-10-11T00:46:08.772Z (3 months ago)
- Topics: cicd, git, reactflow, reactjs, tailwindcss, typescript
- Language: TypeScript
- Homepage:
- Size: 1.03 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
No-code Decision Engine
for non-programmershttps://github.com/user-attachments/assets/c2b5353d-6dca-41dc-b0e3-8061d3cb4548
## Summary
This decision engine can generate one final decision based on the user's decision tree. Next, this policy can be stored and executed in the back-end.
## Prerequisites
For this project to run, make sure these software are installed:
- [python](https://www.python.org/downloads/)
- [nodejs](https://nodejs.org/en/download/current)
## InstallingTo run locally:
1. Clone this repo
```cmd
[email protected]:jefersoneiji/decision-engine.git
```2. Install dependencies in your machine
```cmd
yarn install
```3. Start both the front and back-end
```cmd
yarn dev
```## Testing
Execute the following command:
```cmd
yarn test
```
## Linting```shell
yarn lint
```
## Apps- [README](./frontend/README.md) | `Frontend`: Contains front-end logic for the policy editor
- [README](./backend/README.md) | `Backend`: Contains back-end logic for the CRUD operations in policies
- [README](./backend/README.md#policydb) | `PolicyDB`: Local database with sqlite and sqlalchemy
- [README](./backend/README.md#executionengine) | `ExecutionEngine`: Responsible for processing and outputing one decision after executing a policy## Design Decisions
Turbo is used to reduce the number of steps required for executing commands such as spin up apps in dev mode.### Back-End
- For the sake of speed and simplicity. SQLite was choosen as local database engine
- Folders contain file according to their purpose. For instance `routes` only contains API routes. This structure make files predictible
- As a way to provent bugs and enforce code styling `pytest` was added to the project### Front-End
- Because of its reliability and simplicity `Axios` was chosen as `http-client`
- Most user feedback comes shows as `Toast` notifications from `react-toastify`
- As a way to provent bugs and enforce code styling `eslint` was added to the project
- An [AI assistant](./frontend/README.md) may be helpful in answering user's questions related to docs and help them through problem solving while create policiesMade by Jeferson Eiji ➡️ [Get in touch!](https://www.linkedin.com/in/jeferson-eiji/)