Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/suppierk/jiqs
https://github.com/suppierk/jiqs
Last synced: 5 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/suppierk/jiqs
- Owner: SuppieRK
- Created: 2024-12-25T15:19:38.000Z (12 days ago)
- Default Branch: main
- Last Pushed: 2024-12-25T15:26:03.000Z (12 days ago)
- Last Synced: 2024-12-25T16:24:39.618Z (12 days ago)
- Language: Java
- Size: 56.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# JIQS
JIQS (pronounced as "jicks," rhyming with "kicks") repository offers a template for the alternative highly customizable
Java microservice stack with focus on simplicity, modularity and control over dependencies where each piece can be
determined individually and excluded / replaced.It should also open a path for [platform engineers](https://platformengineering.org/blog/what-is-platform-engineering)
to craft a bigger abstraction, tailored for specific company business needs to reduce friction during development.## What contributes to the simplicity?
- Focusing on Java language, less focus on the annotations / frameworks to stay true
to [YAGNI](https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it) principle.
- Focusing on pure SQL, no
ORM [for](https://martinfowler.com/bliki/OrmHate.html) [several](https://medium.com/building-the-system/dont-be-a-sucker-and-stop-using-orms-190add65add4) [reasons](https://en.wikipedia.org/wiki/Object%E2%80%93relational_impedance_mismatch).## Dependencies offered by default
- [Javalin](https://javalin.io/) as a web server core.
- [jOOQ](https://www.jooq.org/) as a way to talk to the database in pure SQL.
- [Flyway](https://www.red-gate.com/products/flyway/) as a database migration tool which also leverages SQL.
- [Gestalt](https://gestalt-config.github.io/gestalt/) as a customizable configuration library.
- [Inject](https://github.com/SuppieRK/inject) as a standalone dependency injection library.
- [Spotless](https://github.com/diffplug/spotless) to maintain code formatting rules.### Glue dependencies
- [jooq-java-class-generator](https://github.com/SuppieRK/jooq-java-class-generator) to glue Flyway and jOOQ together.
- [Javalin Swagger](https://javalin.io/tutorials/openapi-example) to provide API documentation for consumers.
- [Google JIB](https://github.com/GoogleContainerTools/jib) to build deployable Docker image artifact.### Other dependencies
`build.gradle` has dependencies split into sections, where `PREFERENTIAL` sections can and should be replaced to suit
your needs.