{"id":16119413,"url":"https://github.com/darkredz/zeko-restapi-examples","last_synced_at":"2025-03-18T10:31:34.615Z","repository":{"id":48856693,"uuid":"259732783","full_name":"darkredz/zeko-restapi-examples","owner":"darkredz","description":"Example project using Zeko Rest API framework","archived":false,"fork":false,"pushed_at":"2023-02-10T03:28:33.000Z","size":252,"stargazers_count":3,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-28T09:11:36.154Z","etag":null,"topics":["kotlin","kotlin-coroutines","microservice","mvc-framework","rest-api","vertx","vertx-web","zeko","zeko-data-mapper","zeko-restapi","zeko-sql-builder"],"latest_commit_sha":null,"homepage":null,"language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/darkredz.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-28T19:32:11.000Z","updated_at":"2024-09-02T09:25:41.000Z","dependencies_parsed_at":"2024-10-27T18:11:29.423Z","dependency_job_id":"468cc73b-adbc-4127-8291-2e39f474b93d","html_url":"https://github.com/darkredz/zeko-restapi-examples","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/darkredz%2Fzeko-restapi-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkredz%2Fzeko-restapi-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkredz%2Fzeko-restapi-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkredz%2Fzeko-restapi-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/darkredz","download_url":"https://codeload.github.com/darkredz/zeko-restapi-examples/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243922074,"owners_count":20369341,"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":["kotlin","kotlin-coroutines","microservice","mvc-framework","rest-api","vertx","vertx-web","zeko","zeko-data-mapper","zeko-restapi","zeko-sql-builder"],"created_at":"2024-10-09T20:54:04.308Z","updated_at":"2025-03-18T10:31:34.291Z","avatar_url":"https://github.com/darkredz.png","language":"Kotlin","readme":"# Zeko Rest API Example Project\nExample project in Kotlin language using [Zeko Rest API framework](https://github.com/darkredz/zeko-restapi-framework)\n\n## Getting Started\nClone the project, cd to the folder.\n\nRun the shell script to start the RESTful backend in development mode(hot reload enabled)\n```shell script\n./run.sh\n```\n\nOpen browser and go to http://localhost:9999\n\nNow, you should be able to test your API endpoints now with browser, [Postman](https://www.postman.com) or tool of your choice\n\nAfter running app is compiled, you will also find swagger.json under api-doc folder. \nJust import it into Postman and start playing around \n\nTo build a docker image execute the shell script which will build the image to your docker daemon\n```shell script\n./build-docker-image.sh\n```\n\n## Project Creator\nZeko Rest API framework has built-in project creator feature since 1.0.7. \n\nTry to create a new project barebone by calling the endpoint [/project/create](https://github.com/darkredz/zeko-restapi-examples/blob/master/src/main/kotlin/io/zeko/restapi/example/controller/ProjectCreatorController.kt) in this project.\n\nSimply send a post/get request to the endpoint using Postman, browser or wget and download the project zip file.\n\n![alt Zeko Project Creator](./zeko-project-creator.png \"Project Creator for Zeko RESTful API framework\")\n\n\n## Brief Explanation\nYou should import the database [zeko_test.sql](https://github.com/darkredz/zeko-restapi-examples/blob/master/zeko_test.sql) into your MySQL server for the demo to work.\n\nThis projects uses [Koin](https://insert-koin.io/) for dependency injection.\n\n[BootstrapVerticle](https://github.com/darkredz/zeko-restapi-examples/blob/master/src/main/kotlin/io/zeko/restapi/example/BootstrapVerticle.kt) is the main entry file and all dependencies needed are created here. \n[Jackson](https://github.com/FasterXML/jackson) is set to use snake case naming strategy when encoding JSON.\nIt is also set to convert date objects to ISO date time string. \n\nExample usage of [SendGrid](https://sendgrid.com/) mail service can be found under user registration, which sends email in a circuit breaker strategy.\nYou can uncomment/comment the code in the bootstrap class to switch to [Mandrill](https://mandrillapp.com/)\n\n[RestApiVerticle](https://github.com/darkredz/zeko-restapi-examples/blob/master/src/main/kotlin/io/zeko/restapi/example/RestApiVerticle.kt) contains all the routes and cronjobs of the project. \nYou will find error handler, JWT auth and token refresh here.\n\nSQL queries are executed with [Jasync](https://github.com/jasync-sql/jasync-sql) async MySQL driver, \nhowever you can change to use [Hikari-CP](https://github.com/brettwooldridge/HikariCP) or [Vert.x JDBC client](https://vertx.io/docs/vertx-jdbc-client/kotlin/) in [DB class](https://github.com/darkredz/zeko-restapi-examples/blob/master/src/main/kotlin/io/zeko/restapi/example/DB.kt)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarkredz%2Fzeko-restapi-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdarkredz%2Fzeko-restapi-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarkredz%2Fzeko-restapi-examples/lists"}