Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/safidea/engine
Generate your web application from a simple configuration. We are building a powerful engine allowing the complete development of a web application from a JSON configuration file.
https://github.com/safidea/engine
bun engine express framework frameworks generator hotwired-turbo internal-tools json low-code no-code postgres typescript webapp website
Last synced: 3 months ago
JSON representation
Generate your web application from a simple configuration. We are building a powerful engine allowing the complete development of a web application from a JSON configuration file.
- Host: GitHub
- URL: https://github.com/safidea/engine
- Owner: safidea
- License: other
- Created: 2023-09-04T15:46:38.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-21T13:42:11.000Z (3 months ago)
- Last Synced: 2024-10-21T16:11:31.886Z (3 months ago)
- Topics: bun, engine, express, framework, frameworks, generator, hotwired-turbo, internal-tools, json, low-code, no-code, postgres, typescript, webapp, website
- Language: TypeScript
- Homepage: https://safidea.com/engine
- Size: 22 MB
- Stars: 11
- Watchers: 0
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: docs/CODE_OF_CONDUCT.md
- Security: docs/SECURITY.md
- Roadmap: docs/ROADMAP.md
Awesome Lists containing this project
README
# Safidea Engine - Web App Generator
Safidea Engine is a API to generate web app, fast and easy. With a configuration file, you can create a full stack application.
## Getting Started
### Pre-requisites
You should have Node.js 22 or higher installed on your machine.
### Installation
In a node project, install the engine with npm:
```
npm install @safidea/engine
```### Usage
Then, create a startup file, for example `index.js`:
```js
import App from '@safidea/engine'const app = new App()
const url = await app.start({
name: 'Website',
pages: [
{
name: 'Home',
path: '/',
body: [
{
component: 'Title',
text: 'Hello world!',
},
],
},
],
})console.log(`Server started at ${url}`)
```Finally, run the startup file with node:
```
node index.js
```## Configuration
A configuration is a JSON representation of the application. It contains the tests, pages, tables, automations, database, etc...
You can see the [full JSON schema documentation here](https://json-schema.app/view/%23?url=https%3A%2F%2Fsafidea.com%2Fschemas%2Fapp.schema.json).
## Templates
You can open our [templates](https://github.com/safidea/templates) to see how to configure the engine and to start from models.
## Contributing
Safidea Engine is built and maintained by a small team – we'd love your help to fix bugs and add features!
You can read our [contributing guide here](https://github.com/safidea/engine/blob/main/docs/CONTRIBUTING.md) and our [code of conduct here](https://github.com/safidea/engine/blob/main/docs/CODE_OF_CONDUCT.md).
## License
Safidea Engine is [BSL 1.1 licensed](https://github.com/safidea/engine/blob/main/LICENSE).