{"id":15045334,"url":"https://github.com/leobarreiro/generator-springboot-api","last_synced_at":"2025-04-10T00:43:12.317Z","repository":{"id":57248917,"uuid":"176186371","full_name":"leobarreiro/generator-springboot-api","owner":"leobarreiro","description":null,"archived":false,"fork":false,"pushed_at":"2021-08-12T22:53:38.000Z","size":356,"stargazers_count":10,"open_issues_count":1,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-10T00:43:06.403Z","etag":null,"topics":["docker","influxdb","java-11","java-8","kafka","mqtt","nodejs","npm","rabbitmq","spring-boot","springboot-api","stack","yeoman","yeoman-generator"],"latest_commit_sha":null,"homepage":"https://leobarreiro.github.io/generator-springboot-api/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leobarreiro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-03-18T01:56:11.000Z","updated_at":"2023-03-04T19:26:28.000Z","dependencies_parsed_at":"2022-08-24T16:22:03.658Z","dependency_job_id":null,"html_url":"https://github.com/leobarreiro/generator-springboot-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leobarreiro%2Fgenerator-springboot-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leobarreiro%2Fgenerator-springboot-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leobarreiro%2Fgenerator-springboot-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leobarreiro%2Fgenerator-springboot-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leobarreiro","download_url":"https://codeload.github.com/leobarreiro/generator-springboot-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137998,"owners_count":21053775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","influxdb","java-11","java-8","kafka","mqtt","nodejs","npm","rabbitmq","spring-boot","springboot-api","stack","yeoman","yeoman-generator"],"created_at":"2024-09-24T20:51:44.671Z","updated_at":"2025-04-10T00:43:12.299Z","avatar_url":"https://github.com/leobarreiro.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# How this springboot-api generator works\n\nThe generator-springboot-api is a yeoman generator that builds a springboot microservices from scratch. Its goal is to assemble a pre-configured, compilable and ready-to-code spring-boot project.\n\n# Installation\n\n## Prerequisites\n1. Java JDK 11 or newer (can be an open-jdk distro)\n2. Maven 3+\n3. [NPM](http://npmjs.org)\n4. [Yeoman](http://yeoman.io)\n5. [docker](https://docs.docker.com/install/) \n6. [docker-compose](https://docs.docker.com/compose/install/)\n\n\nTo install yeoman:\n```\n$ npm install -g yo@latest\n```\n\nTo install this generator:\n```\n$ npm install -g generator-springboot-api\n```\n\n# Features\nGeneration of fully-functional springboot REST API, using:\n* Java 11\n* Maven 3+\n* Spring-boot 2.2 REST API\n\n## Integrations\nThis generator allows to integrate the springboot REST API with:\n* PostgreSQL\n* Oracle\n* RabbitMQ\n* Apache Kafka\n* Redis for cache\n* MQTT (for IoT)\n* InfluxDB for metrics\n\n## Additionally, this generator creates:\n* Two docker-compose yaml files, describing the complete stack to running on localhost and server;\n* A complete docker stack with all depedencies (including all the integrations above listed)\n* A set of curl requests serving as a basis for implementing new features\n* A Postman collection with functional requests \n\n# Get started\nRemember you must install npm, yeoman and generator-springboot-api before use them. See the Prerequisites above.\n\nOpen your shell (or powershell) and type these follow commands:\n\n* Invoke the springboot generator with yeoman\n\n```\n$ yo springboot-api\n```\n\n* Type a groupId using maven patterns (e.g. com.quasarbot.api)\n\n\n* Type an artifactId using maven patterns (e.g. myApplication)\n\n\n* Choose once embed server (mandatory)\n```\nundertow\ntomcat\njetty\nnetty (webflux)\n```\n\n* Select the aditional options as below\n```\nDevtools\nMongo DB\nRedis for Cache\nSpring Actuator\nInfluxDB for Metrics\nSwagger Docs\n```\n\n* Select a message-queue system, if you want\n```\nNone\nRabbitMQ\nApache Kafka\nMQTT\n```\n\nAfter this simple options, the generator will assembly your springboot api, using all the choosen resources.\n\n\n* Compile with Maven\nOnce your application is assembled, compile it using maven:\n\n```\n$ cd path_to_your_app\n$ mvn package -U\n```\n\n* After this maven command, all the resources compiled can be found in the *target* directory\n\n\t1. JAR file compiled;\n\t2. Scripts shell to setting up a complete docker stack (and a docker-compose file) for two environments: local machine and server;\n\t3. Script shell to use your API with standalone docker container dependencies;\n\t4. A complete set of curl requests, corresponding to the integrations you have chosen;\n\t5. A postman collection to test your API.\n\n```\n$ cd target\n```\n\n## Setting up the complete stack on local machine\nIf you want to set up the complete docker stack, use the shell script *stack.sh*. This script will start all the docker services to support the integrations of your microservice to run it in you local machine.\n\n* First, make the script executable:\n```\n$ chmod +x dev-stack.sh\n```\n\n* And finnaly execute the script:\n```\n$ ./dev-stack.sh\n```\n\nThe script above will create all the *docker services* necessary to start up your microservice. So you can import the maven project in your favourite IDE and start to code and debug. \n\n\nNote: In order to use *docker stack* and *docker service* you must initialize the swarm-mode before:\n```\n$ docker swarm init\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleobarreiro%2Fgenerator-springboot-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleobarreiro%2Fgenerator-springboot-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleobarreiro%2Fgenerator-springboot-api/lists"}