Skip to content

EzxD/Loki

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Loki - A "Cloud Native" Code Generation Tool

The goal of Loki is to provide a CLI which lets you create fully-fetched MicroServices and Serverless Functions based on a single API description.

Originally the Loki specification for services was based on apibuilder.io's service specification. I originally extended their spec with some new auto-generation & scaffolding techniques aswell as features.
For example: They manually declare all CRUD endpoints, this could be done by the generator itself based on field-parameters.

In the current version, the Loki format is incompatible with ApiDoc. If you want to use Loki with an ApiDoc file, you can either rewrite or import it directly.

Goals

Note: My focus is currently on Java using Quarkus/Spring

The main objective is to develop MicroServices & Serverless Functions, which would normally cost me up to multiple hours of developing, coding, debugging and testing (integration, unit etc.), in under 5 minutes. Loki shall try to generate as much as possible for the user.

  • Model generation
    • Field validation (javax: @Email etc.)
    • Indices
  • Endpoint generation
    • CRUD
    • Based on models (user -> username/email)
    • Based on the documentation (apidoc -> operation)
  • Service logic generation
    • CRUD (endpoint -> service -> repository)
  • Unit
    • Unit test generation (in-mem database)
    • Integration test generation
  • Event sourcing support
  • (PSQL Schema)
    • generation
    • schema updates
  • Dependency management support
    • Quarkus Funqy with GraalVM for high-performance cloud native functions
  • Docker support
    • Environment variable
  • Imports (apidoc)
  • (OpenAPI 3.0 generation)
  • (Git integration (e.g. updating repositories via GitHub Bots))
  • (Public Cloud Provider support? -> Function deployment)

Features

  • Model generation
  • CRUD endpoint generation based on models

Related sources

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages