Default CRUD operations
Generates default queries, mutations and generic UI for create, read, update and delete of domain entity items - incl. complex relationships between them
Domain Driven GrapqhQL API Development for NodeJS
From configuration to full fledged GrapqhQL API and generic Admin UI in minutes
Fast forward API development with convention over configuration and DRY
npx betterobjects/activeql-generator my-activeql
# install dependencies with "npm i" in
# ./my-activeql/express
# ./my-activeql/angular
git clone https://github.com/betterobjects/activeql-starter.git
# or preferably your forked repository
# install dependencies with "npm i" in
# ./activeql-starter/express
# ./activeql-starter/angular
# edit ./express/activeql/domain-configuration/car.yml
enum:
CarBrand:
- Mercedes
- Porsche
- Audi
- BMW
entity:
Car:
attributes:
licence: Key
brand: CarBrand!
color: String
mileage: Int!
cd ./express
npm run start
Your GraphQL API is up and running at http://locahost:4000/graphql
You can configure more enums, entities, relationships between them, seed data, permission handling and more and add custom queries and mutations.
The Admin UI is available at http://locahost:4200
Optionally you can use a generic Admin UI to create, read, update, delete entity items. You can customize any aspect how to display or edit the data.
API First
We believe GraphQL is a great way to expose your business domain to any client or 3rd party system.
We also believe that it is a good idea to follow an API 1st approach - expressing your business entities
and functionality as an API.
Everything else (from different user interfaces, integration with other systems to infrastructure task etc.) uses this API as a common understanding of your business domain.
Implementing a GraphQL API can be a cumbersome task though. You need to decide how to structure your schema, how to handle concepts like permissions, searching, sorting, paging, how to implement resolvers that read data from and write data to a database or similar, validate input, relationships etc. And implement it with quite some repetitive code.
ActiveQL supports this development with a highly oppionated generation of a GraphQL schema and resolvers. You can run a GraphQL API directly from the description of a business domain (mainly entities and its relations to each other). This gives you the the freedom to concentrate on the implementation of any non-default functionality on top of that. It does not restrict you in any way how implement your API, what libraries you prefer etc.
Read MoreStart developing your GraphQL API and Admin UI with generated applications - up and running in under 2 minutes.
Oppionated basic API operations
Convention over Configuration
Don't repeat yourself
Concentrate of the non-standard functions of your API and Admin UI with full freedom. Use any coding-style or library you like.
Comes with a generic Admin UI - allowing to create, read, update and delete of data.
Build on enterprise technologies like Express, Apollo or Angular
You can generate UML class diagrams (via [PlantUML](https://plantuml.com/en/class-diagram) directly from your configuration.
Generates default queries, mutations and generic UI for create, read, update and delete of domain entity items - incl. complex relationships between them
Change any aspect of schema generation, resolvers or Admin-UI. Custom code works seamlessly with generated functions.
Add role based permissions or restriction of data to your entities for any API or UI user
Easily add extensive test or seed data to your application - using sophisticated random or fake data.
Customizable features like filtering or segmentation of data in your API
ActiveQL comes with zero installation document database and MongoDB datastore implementation. More databases or sources (mysql, Oracle, REST, ... ) can be added.
Free forever
ActiveQL main development | https://github.com/betterobjects/activeql | ActiveQL-Server, Admin-UI, Documentation, Express and Angular Shell-Applications |
ActiveQL application generator | https://github.com/betterobjects/activeql‑generator | Use this generator to easily generate your GraphQL API and Admin-UI powered by ActiveQL |
ActiveQL starter application | https://github.com/betterobjects/activeql‑starter | Fork and clone this project to start developing your GraphQL API and Admin-UI powered by ActiveQL |
Feel free to get in contact via
Email: activeql.735@betterobjects.de