{"id":15018078,"url":"https://github.com/pmlopes/vertx-starter","last_synced_at":"2025-10-23T15:30:46.458Z","repository":{"id":56230504,"uuid":"71995677","full_name":"pmlopes/vertx-starter","owner":"pmlopes","description":"POC for vert.x starter project","archived":false,"fork":false,"pushed_at":"2023-10-10T22:32:18.000Z","size":29022,"stargazers_count":43,"open_issues_count":24,"forks_count":15,"subscribers_count":6,"default_branch":"develop","last_synced_at":"2025-01-30T19:11:26.305Z","etag":null,"topics":["boilerplate","gradle","groovy","java","javascript","kotlin","maven","npm","ruby","scala","vertx"],"latest_commit_sha":null,"homepage":"https://vertx-starter.jetdrone.xyz","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pmlopes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-26T11:15:12.000Z","updated_at":"2024-11-30T05:18:00.000Z","dependencies_parsed_at":"2024-09-16T12:48:38.745Z","dependency_job_id":null,"html_url":"https://github.com/pmlopes/vertx-starter","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/pmlopes%2Fvertx-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmlopes%2Fvertx-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmlopes%2Fvertx-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmlopes%2Fvertx-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pmlopes","download_url":"https://codeload.github.com/pmlopes/vertx-starter/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237729922,"owners_count":19357154,"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":["boilerplate","gradle","groovy","java","javascript","kotlin","maven","npm","ruby","scala","vertx"],"created_at":"2024-09-24T19:51:24.891Z","updated_at":"2025-10-23T15:30:44.192Z","avatar_url":"https://github.com/pmlopes.png","language":"Java","readme":"# vertx-starter\n\nThis is a simple online generator for vert.x projects\n\nThe whole SPA is data-driven, build tools can be added to the file [metadata/buildtools.json](buildtools.json).\n\n## Usage from cli\nBuild the required files with\n\n```bash\ngulp build-cli\n```\n\nAnd then run the cli with\n\n```bash\nnpm run cli\n```\n\nIf you want a zip output you can use `-z` flag\n\n## Preset documentation\n\nLook at preset specific documentation for more info:\n\n* [OpenAPI Server with Event Bus Services](docs/OpenAPI_Server_with_Services.md)\n\n## Data files\n\n### buildtools.json\n\n`buildtools.json` file is composed of several properties:\n\n* `id` an unique id for the tool\n* `file` just a placeholder to show on screen (has no side effects)\n* `fields` a list of properties that will be available to the template engine\n* `languages` supported languages\n* `templates` simple templates that apply to all languages\n* `defaults` default dependencies that are automatically selected for this tool\n* `executables` list of template elements that should be marked as executable (required for Unix OSes)\n* `blob` an existing zip file that will be merged into the final zip\n\n#### fields\n\nA `field` can be seen as a variable that can be used later on the code generation.\n\nIt allows the following properties:\n\n* `key` unique id\n* `label` the label for the key\n* `required` boolean\n* `prefill` a default value for the key\n* `type` of the field. Allowed: `input`, `checkbox`, `file`. Default: `input`\n\nNote on `type: file`: In browser files are feed in the engine as string UTF-8 decoded, while on CLI they are paths to the file\n\n#### languages\n\nA language represents a programming language and has the following properties:\n\n* `id` an unique id (should match the `vertx-lang-xxx`)\n* `templates` an extra list of templates for this language\n\n### components.json\n\nComponents represent all dependencies you can add to the project. Components can be added to the file [components.json](components.json)\n\nComponents have the following properties:\n\n* `groupId`\n* `artifactId`\n* `version`\n* `stack` is the component part of the official stack\n* `description`\n* `core` is a special marker for languages like scala. If true it means that there are no prefixed artifacts\n\n### presets.json\n\nPreset projects can be added to the generator. They are listed in the file [presets.json](presets.json).\n\nA preset has the following properties:\n\n* `id` an unique id\n* `description` a simple description\n* `dependencies` a list of dependencies to be added by default\n* `buildtool` the tool that this preset expect to be present\n* `language` the language this preset requires\n* `templates` a list of extra templates that are required for this preset (no file name translation will occurr)\n* `executables` a list of extra executable templates that are required for this preset\n* `blob` an existing zip file that will be merged into the final zip (will override build tool one)\n\n## Templates\n\nThe generated project comes from the handlebars templates under `templ` for each build tools there should be a folder. In this folder, all files will be handled as handlebars templates.\n\nWhen dealing with templates that need to live in a specific package name the following rules apply:\n\n1. The metadata should refer to the file using the following pattern: `some-dir/{packageName}/File.extension`\n2. The file should be saved excluding any package e.g.: `some-dir/File.extension`\n\nImportant to note that extra packages after the `{packageName}` are allowed e.g.: `some-dir/{packageName}/impl/File.extension`.\n\n## Build process\n\nThere is no build process except if templates are added/modified. In this case, handlebars needs to precompile the templates.\n\nThis can be done using `NPM`, start by installing the required dependencies:\n\n```\nnpm install\n```\n\nAnd then compile the templates:\n\n```\nnpm run build\n```\n\n## Release\n\nIncrease the version in `package.json` will generate a new `sw.js` cache version and invalidate the old one.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmlopes%2Fvertx-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpmlopes%2Fvertx-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmlopes%2Fvertx-starter/lists"}