{"id":13636025,"url":"https://github.com/ostinelli/gin","last_synced_at":"2025-10-31T03:32:41.363Z","repository":{"id":10418020,"uuid":"12576974","full_name":"ostinelli/gin","owner":"ostinelli","description":"A LUA fast, low-latency, low-memory footprint, web JSON-API framework with Test Driven Development helpers and patterns.","archived":false,"fork":false,"pushed_at":"2019-05-22T21:07:42.000Z","size":2631,"stargazers_count":236,"open_issues_count":4,"forks_count":35,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-02-13T21:34:56.656Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Lua","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/ostinelli.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-09-03T23:05:06.000Z","updated_at":"2024-01-24T22:23:28.000Z","dependencies_parsed_at":"2022-08-29T15:42:02.611Z","dependency_job_id":null,"html_url":"https://github.com/ostinelli/gin","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostinelli%2Fgin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostinelli%2Fgin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostinelli%2Fgin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostinelli%2Fgin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ostinelli","download_url":"https://codeload.github.com/ostinelli/gin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250536552,"owners_count":21446755,"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":[],"created_at":"2024-08-02T00:00:55.600Z","updated_at":"2025-10-31T03:32:41.311Z","avatar_url":"https://github.com/ostinelli.png","language":"Lua","funding_links":[],"categories":["Libraries","Lua"],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/ostinelli/gin.svg?branch=master)](https://travis-ci.org/ostinelli/gin)\n\n# GIN JSON-API framework\n\nGin is an JSON-API framework, currently in its early stage.\n\nIt has been designed to allow for fast development, TDD and ease of maintenance.\n\nGin is helpful when you need an extra-boost in performance and scalability, as it runs embedded in a packaged version of nginx\ncalled [OpenResty](http://openresty.org/) and it's entirely written in [Lua](http://www.lua.org/).\nFor those not familiar with Lua, don't let that scare you away: Lua is really easy to use, very fast and simple to get started with.\n\nFor instance, this is what a simple Gin controller looks like:\n\n```lua\nlocal InfoController = {}\n\nfunction InfoController:whoami()\n    return 200, { name = 'gin' }\nend\n\nreturn InfoController\n```\n\nWhen called, this returns an HTTP `200` response with body:\n\n```json\n{\n\t\"name\": \"gin\"\n}\n```\n\n#### Features\n\nGin already provides:\n\n * [API Versioning](http://gin.io/docs/api_versioning.html) embedded in the framework\n * [Routes](http://gin.io/docs/routes.html) with named and pattern routes support\n * [Controllers](http://gin.io/docs/controllers.html)\n * [Models](http://gin.io/docs/models.html) and a MySql ORM\n * [Migrations](http://gin.io/docs/migrations.html) for SQL engines\n * [Test helpers](http://gin.io/docs/testing.html) and wrappers\n * Simple [error](http://gin.io/docs/errors.html) raising and definition\n * Support for multiple databases in your application\n * An embedded [API Console](http://gin.io/docs/api_console.html) to play with your API\n * A client to create, start and stop your applications\n\nGet started now! Please refer to the official [gin.io](http://gin.io) website for documentation.\n\n\n#### Contributing\nSo you want to contribute? That's great!\nPlease follow the guidelines below. It will make it easier to get merged in.\n\nBefore implementing a new feature, please submit a ticket to discuss what you intend to do.\nYour feature might already be in the works, or an alternative implementation might have already been discussed.\n\nEvery pull request should have its own topic branch.\nIn this way, every additional adjustments to the original pull request might be done easily, and\nsquashed with `git rebase -i`. The updated branch will be visible in the same pull request, so\nthere will be no need to open new pull requests when there are changes to be applied.\n\nDo not commit to master in your fork.\nProvide a clean branch without merge commits.\n\nEnsure to include proper testing. To test gin you simply have to be in the project's root directory\nand issue:\n\n```\n$ busted\n\n●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● ○\n195 successes / 0 failures / 0 pending : 0.156489 seconds.\n```\n\nThere will be no merges without a clean build.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fostinelli%2Fgin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fostinelli%2Fgin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fostinelli%2Fgin/lists"}