[Open Source] An MIT-licensed project dedicated to separating application business logic from specific implementations
![[Open Source] An MIT-licensed project dedicated to separating application business logic from specific implementations](https://yy123.ink/api/img/1782593787748-hkjbuh.jpg)
1. Project Overview
Interaqt is a project dedicated to separating application business logic from its specific implementation.
It provides a revolutionary and rigorous data structure for describing business logic, along with a series of tools that automatically determine and implement software architecture based on business logic and directly provide ready-to-use APIs.
Interaqt aims to free individuals and teams from constraints such as specific implementation details, performance requirements, and cost requirements, allowing them to focus on describing business logic and create applications faster.
We also believe this approach represents the best development methodology in the era of large language models. Compared with using LLMs to generate code, building an intermediate data structure completely eliminates the uncertainty of generated systems. It can truly achieve a development process that requires no engineer involvement unless special capabilities are needed.
2. Open Source License
Licensed under MIT
3. Screenshots

4. Feature Overview
Better Abstraction
No longer MVC. Interaqt uses concepts that are closer to real business expressions, such as Entities, Interactions, and Activities, to describe business logic. Interaqt automatically designs database table structures based on business logic definitions, performs permission calculations, and handles CRUD operations on data. This reduces developers' workload by 80% by eliminating unimportant technical details.
Interaqt's concepts closely resemble business logic expressed in natural language. So much so that you don't need to train a separate model. You can start using ChatGPT right now to describe business logic with Interaqt's concepts and obtain a fully functional system within minutes. Visit the official website to watch the videos or read the documentation to learn more.
Reactive Backend

Interaqt brings reactive programming to the backend. It allows you to describe what data is rather than how to manipulate it. Interaqt automatically performs incremental calculations based on reactive data definitions, ensuring excellent performance in all scenarios.
Automated Architecture
Interaqt completely separates performance and cost requirements from business logic expression. It can automatically design architectures based on performance and cost requirements, and automatically migrate architectures as application users and data grow.

Multi-Language Support
The abstractions provided by Interaqt are programming-language-independent. The NodeJS version of Interaqt has already been released, and you can start using it right now. Go, Python, and Java versions of Interaqt are expected to be released in the summer of 2024!

5. Tech Stack
Core Concepts
Quick Overview

This diagram covers the core concepts of Interaqt. Interaqt considers the current state of a system to be the result of calculations based on the initial state and intermediate interaction events, or the result of calculations based on other current states. Traditional programming methods almost always involve writing code to modify data in response to specific interaction events. In Interaqt, you only need to write the "definition" of the data. How data should change when an interaction occurs happens automatically. If you are familiar with reactive programming, you can think of Interaqt as bringing reactive programming to the backend!
Project Components
|
Name |
Description |
|
Interaqt IDE |
Visual editors for workflows, data, and other elements |
|
Interaqt Runtime(NodeJS) |
NodeJS runtime that automatically creates databases and generates ready-to-use APIs |
|
Interaqt Runtime(Go) |
Go runtime that automatically creates databases and generates ready-to-use APIs |
|
Interaqt Runtime(Java) |
Java runtime that automatically creates databases and generates ready-to-use APIs |