jonathanlermitage / manon

Licence: MIT License
🧪 Play with SpringBoot 2, JWT, Querydsl, GraphQL, Docker, ELK, PostgreSQL, MariaDB, Redis, MongoDB, Flyway, Maven, Gradle, TestNG, JUnit5, JaCoCo, GreenMail, CI, Quality Gates, Prometheus, Gatling, etc.

Programming Languages

java
68154 projects - #9 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to manon

design-patterns-in-java
☕ 📖 使用通俗易懂的案例,类图,及配套学习笔记来详解 Java 的二十三种设计模式 !
Stars: ✭ 35 (+34.62%)
Mutual labels:  maven, jdk11
sunshine
Sunshine allows you to manage suits of your automated tests directly from Java code.
Stars: ✭ 12 (-53.85%)
Mutual labels:  maven, testng
advanced-spring-scaffold
This project provides an advanced baseline to help you kick start a Spring project.
Stars: ✭ 21 (-19.23%)
Mutual labels:  flyway, junit5
spring-jooq-flyway-testcontainers-junit5
🚀 Example project with configured Spring Boot, JooQ, TestContainers, MySQL container and JUnit5
Stars: ✭ 29 (+11.54%)
Mutual labels:  flyway, junit5
yfs
🏠超精简分布式对象存储
Stars: ✭ 35 (+34.62%)
Mutual labels:  maven, jdk8
SeleniumTDD
A Selenium TDD framework that incorporates key features of Selenium and TestNG which can be used to create web-based automation scripts.
Stars: ✭ 23 (-11.54%)
Mutual labels:  maven, testng
MasterAppiumFramework
Automation Testing | Mobile | Java | OOPS | Appium | TestNG | Maven | ExtentReport | Java mail API | Logging (Log4J2) | Design Patterns (Page Object Model, Singleton) | Page Factories | Jenkins | Data-Driven Testing using JSON file | Expected Data using XML file
Stars: ✭ 27 (+3.85%)
Mutual labels:  maven, testng
Forbidden Apis
Policeman's Forbidden API Checker
Stars: ✭ 216 (+730.77%)
Mutual labels:  gradle, maven
ecommerce-microservices-spring-reactive-webflux
E-commerce demo with spring reactive webflux and spring cloud microservice
Stars: ✭ 107 (+311.54%)
Mutual labels:  maven, flyway
java-in-termux
This script will install java (openjdk-11/8) in termux without root! Available for aarch64 or armv8, arm64, armhf, armv7l, arm or arm32 or armv7 or aarch32
Stars: ✭ 10 (-61.54%)
Mutual labels:  jdk8, jdk11
MasterSeleniumFramework
Automation Testing | Web | Java | OOPS | Selenium WebDriver | TestNG | Maven | ExtentReport | Allure Reports | Java mail API | Design Patterns (Page Object Model, Singleton) | Jenkins | Data-Driven Testing using JSON file
Stars: ✭ 52 (+100%)
Mutual labels:  maven, testng
sonatype-publish-plugin
Gradle Plugin for publishing artifacts to Sonatype and Nexus
Stars: ✭ 17 (-34.62%)
Mutual labels:  gradle, maven
selenium BDD framework
Behavioural driven development UI automation framework using selenium, cucumber-java, testng, maven, phantomjs
Stars: ✭ 34 (+30.77%)
Mutual labels:  maven, testng
TwitterApiKit
Twitter's API v2 Objectified. This will save you time from creating data objects to access twitter's API v2. This library is supported on Gradle, Maven, Java, Kotlin, and Android projects.
Stars: ✭ 23 (-11.54%)
Mutual labels:  gradle, maven
Reposilite
Lightweight repository management software dedicated for the Maven based artifacts (formerly NanoMaven) 📦
Stars: ✭ 222 (+753.85%)
Mutual labels:  gradle, maven
cxf-spring-boot-starter
Enterprise & production ready SOAP webservices powered by Spring Boot & Apache CXF
Stars: ✭ 129 (+396.15%)
Mutual labels:  jdk8, jdk11
Maven Git Versioning Extension
This extension will virtually set project versions, based on current git branch or tag.
Stars: ✭ 178 (+584.62%)
Mutual labels:  gradle, maven
Micromodule
Rebuild multiple complete module structures within the module.
Stars: ✭ 192 (+638.46%)
Mutual labels:  gradle, maven
qa-automation-base
There are basic projects for automation frameworks based on Kotlin/Java and TypeScript for the backend, frontend, and mobile.
Stars: ✭ 45 (+73.08%)
Mutual labels:  testng, junit5
openjfx-docs
Getting started guide for JavaFX 11
Stars: ✭ 70 (+169.23%)
Mutual labels:  gradle, maven

Azure CI Appveyor CI Travis CI Cirrus CI License SourceSpy Dashboard
SonarCloud Codecov LGTM alerts LGTM grade Bettercodehub

  1. Project
  2. Author
  3. Compilation and test
  4. Tips
  5. License

Project

Some experimentation with Spring Boot 2, JDK11+, JUnit5, TestNG, SQL (HSQLDB, MariaDB, PostgreSQL), NoSQL (Redis, MongoDB), Docker, ELK stack, etc. It demonstrates usage of:

For fun and to show some skills 🐱

Author

Jonathan Lermitage ([email protected])
Linkedin profile: jonathan-lermitage-092711142

Compilation and test

First, install JDK8+ and Maven3+.

You can now use the ./do Linux Bash script:

do help         show this help message
do fixgit       set executable flag on git index for required files
do fixexec      set executable permission for required files (chmod +x on bash scripts)
do normgit      call git add --update --renormalize
do conv         generate a Dependency Convergence report in target/site/dependency-convergence.html
do oga          check for deprecated groupId and artifactId couples
do owasp        generate a OWASP dependencies vulnerabilities report in target/dependency-check-report.html
do t            test using embedded HSQLDB
do td           test using dockerized MariaDB and Redis (container is started and stopped by script)
do td-postgres  test using dockerized PostgreSQL and Redis (container is started and stopped by script)
do ut           run unit tests only, no integration tests
do tc           run unit + integration tests and generate coverage data
do itc          run integration tests only and generate coverage data
do gatling      benchmark application via a Gatling container (run './do up' first to start application)
do sc           compute and upload Sonar analysis to SonarCloud
do tsc          similar to "do tc" then "do sc"
do sb           scan with SpotBugs then show GUI
do b            build without testing
do c            clean
do p            package application to manon.jar
do rd           package and run application with dev-mariadb profile 
do w 3.5.2      set or upgrade Maven wrapper to 3.5.2
do cv           check plugins and dependencies versions
do uv           update plugins and dependencies versions
do dt           show dependencies tree
do rmi          stop Docker application, then remove its containers and images
do cdi          clean up dangling Docker images
do dockerreset  stop and remove all containers, remove all images and prune volumes
do docker       build Docker image with Dockerfile to a Docker daemon
do dockerpull   pull 3rd party Docker containers
do jib          build Docker image with Jib to a Docker daemon
do jibtar       build and save Docker image with Jib to a tarball
do up           create and start containers via docker-compose
do stop         stop containers via docker-compose
do upelk        create and start ELK containers via docker-compose
do stopelk      stop ELK containers via docker-compose
do upcerebro    create and start Cerebro container via docker-compose
do stopcerebro  stop Cerebro container via docker-compose
do maria        connect to dockerized MariaDB business database by calling MySQL Client provided by container
do maria-batch  connect to dockerized MariaDB Spring Batch database by calling MySQL Client provided by container
do mariah       connect to dockerized MariaDB business database by calling host MySQL Client (mysql-client package must be installed)
do mariah-batch connect to dockerized MariaDB Spring Batch database by calling host MySQL Client (mysql-client package must be installed)
do e2e          run some end-to-end (e2e) tests with Docker. Application image is built from a Dockerfile
do e2ejib       run some end-to-end (e2e) tests with Docker. Application image is built with Jib

Nota: the Linux Bash script can chain parameters, e.g.: ./do cdi rmi w 3.6.0 c tc docker up.
Nota: a Windows do.cmd script exists, but it's limited to some basic features. Run do.cmd help for details.

Tips

Proxy

You may experience connection issues with many do commands that use Maven Wrapper if you are behind a proxy. Maven Wrapper doesn't pick proxy configuration from Maven's settings, so you should give some proxy parameters to JVM. See this excellent Stack Overflow answer.

Git

Some usefull git alias to put into your .gitconfig file:

[alias]

# Show a pretty commit log
ls = log --pretty=format:"%C(green)%h\\ %C(yellow)[%ad]%Cred%d\\ %Creset%s%C(cyan)\\ [%cn]" --decorate --date=relative

# Checkout a merge request, example: git mr upstream 6
mr = !sh -c 'git fetch $1 merge-requests/$2/head:mr-$1-$2 && git checkout mr-$1-$2' -

# Credit an author on the latest commit
credit = "!f() { git commit --amend --author \"$1 <$2>\" -C HEAD; }; f"

# Interactive rebase with the given number of latest commits
reb = "!r() { git rebase -i HEAD~$1; }; r"

# Show the diff between the latest commit and the current state
d = !"git diff-index --quiet HEAD -- || clear; git diff --patch-with-stat"

License

MIT License. In other words, you can do what you want: this project is entirely OpenSource, Free and Gratis.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].