Giter Club home page Giter Club logo

prodlib's Introduction

ProdLib

Some utilities libs and tools, and parent (pom) projects for small java projects.

All these projects are consistent with each other. Some use Spring Boot when necessary.

Please use Maven and Java 17 for build, test and run.

All is tested on Windows 10, Linux and GitHub Actions (Ubuntu). Should be ok on macOS.

Relases are sent to Maven central.

Java CI with Maven

CodeQL

Quality Gate Status

Projects / modules

Starter

Commons Maven starter project for bootstrap App, Web app and libs. Pom project, Spring Boot optional, stable.

Parent

Base project for lib. Pom project, Spring Boot, stable.

Parent-web

Base project for web lib. Pom project, Spring Boot, stable.

App

Base project for standalone application. Pom project, Spring Boot, stable.

App-web

Base project for standalone web application. Pom project, Spring Boot, stable.

Interfaces

Java Interfaces and DTOs for connect projects without direct dependencies, for some shared cross-projects objects and definitions.

Java lib, Spring Boot, stable.

Transfertfiles

Manipulate files across protocols: a Java library for upload and download files, with protocol abstraction (local File, FTP/FTPS/FTPES, SFTP), and transfer progression events.

Java lib, standalone, stable.

Jobkit

Base project for all jobkit modules. Pom project, Spring Boot optional, stable.

Jobkit/engine

Execute onetime and scheduled jobs with dynamic queues and events.

Engine embed a Supervisable tool, used in conjonction with JobKitEngine to track, and collect events during the task execution.

Java lib, standalone, stable.

Jobkit/springboot-service

Execute as SpringBoot module the JobKit lib. Java lib, Spring Boot, stable.

Jobkit/watchfolder

Regulary scan folders (local or distant) and throws events on activity.

It can found recently added files and directories in local filesystem, and start events (run Java code) on it.

Java lib, standalone, stable.

Jobkit/watchfolder-jpa

Watchfolder lib with persistence. Java lib, Spring Boot, stable.

Mailkit

Mail engine as notification abstraction.

MailKit can manage Supervisable produced by JobKit, and can transform it in mail: Notification.

Java lib, Spring Boot, stable.

Env-version

Tools for provide project and deps version. Java lib, Spring Boot, stable.

Jsconfig

Let setup JS files as configuration and expose it as a Spring Boot service. Java lib, Spring Boot, Alpha.

Csvkit

CSV utility for import CSV file as simple data content. Java lib, Spring Boot, stable.

Authkit

Authentication and RBAC module. Java lib, Spring Boot, Alpha.

AuthKit provide a backend API & logon front with:
  • User/Group/Role/Right (access to a controller)/Right Context (access context limitation for a controller) as RBAC objects
  • Cookie-less and persistence-less session based on JSON web tokens via an HTTP bearer.
  • Cookie stateless/session less (same JWT from bearer) for non-REST purpose.
  • Optional 2 factors auth (TOTP)
  • Optional login by Active Directory via an LDAP auth
  • A Role can required a specific IP address before it enable during a request
  • Data persistance with the help of an Hibernate database compatible, like MySQL and H2.
  • Strongly tested by integration tests (see SonarQube reports)
  • An internal and systematic audit system on database, for trace any security/logon actions.
  • A ciphered and isolated table for storing personal information (privacy). An user is only referenced by its auto-generated UUID. The username (login name) is only manipulated during logon operations.

AuthKit don't use Spring Security functions: it can be setup in addition for Spring Security.

It use Liquibase for setup/upgrade MySQL database, only if you don't want to use Hibernate to do it.

See more on authkit dir.

Selfautorestdoc

Create an automatic SpringBoot REST documentation to markdown with Spoon.

Start (or copy and start) from your Spring Boot project scripts/make-rest-doc.sh. You will needs maven to run it.

Java lib, Spring Boot, Alpha.

Contributing / debugging

Versioning: just use SemVer.

Author and License

This project is writer by hdsdi3g and licensed under the LGPL License; see the LICENCE.TXT file for details.

prodlib's People

Contributors

hdsdi3g avatar dependabot[bot] avatar snyk-bot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.