{"id":20693960,"url":"https://github.com/cristianoliveira/apitogo","last_synced_at":"2025-10-24T19:13:38.400Z","repository":{"id":57526322,"uuid":"92499953","full_name":"cristianoliveira/apitogo","owner":"cristianoliveira","description":"\"An api to go, please.\" - Make a fake api without a line of code.","archived":false,"fork":false,"pushed_at":"2017-06-11T21:07:55.000Z","size":58,"stargazers_count":15,"open_issues_count":7,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-29T17:51:12.432Z","etag":null,"topics":["developer-tools","golang","json-api","oauth2","oauth2-server","webhooks","websocket"],"latest_commit_sha":null,"homepage":"","language":"Go","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/cristianoliveira.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":"2017-05-26T10:27:20.000Z","updated_at":"2018-08-07T12:09:23.000Z","dependencies_parsed_at":"2022-09-07T02:50:37.208Z","dependency_job_id":null,"html_url":"https://github.com/cristianoliveira/apitogo","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cristianoliveira%2Fapitogo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cristianoliveira%2Fapitogo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cristianoliveira%2Fapitogo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cristianoliveira%2Fapitogo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cristianoliveira","download_url":"https://codeload.github.com/cristianoliveira/apitogo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250304325,"owners_count":21408781,"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":["developer-tools","golang","json-api","oauth2","oauth2-server","webhooks","websocket"],"created_at":"2024-11-16T23:41:49.883Z","updated_at":"2025-10-24T19:13:33.368Z","avatar_url":"https://github.com/cristianoliveira.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# apitogo [![Build Status](https://travis-ci.org/cristianoliveira/apitogo.svg?branch=master)](https://travis-ci.org/cristianoliveira/apitogo)\n\u003cp align=\"center\" \u003e\n\u003cimg src=\"https://cdn.rawgit.com/cristianoliveira/apitogo/9112716a/apitogo.svg?q=1\" width=\"150\" align=\"center\" /\u003e\n\u003cstrong\u003e\"An api to go, please.\"\u003c/strong\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003eMake a fake api without a line of code for development purposes\u003c/p\u003e\n\n\n**Work in progress**\n\n### I wanna help!\nYou can help this project by:\n\n - Taking a look on the desired features below and implementing it.\n\n - Help/suggestions are appreciated. Feel free to open an issue with any suggestion.\n\n - Using and giving feedback\n\n# Motivation\n\nThere are two motivations that made me create this project:\n\n  - Prototyping SPAs.\n\n    Each time that I need to create a SPA for an API that was designed but still not implemented I need to create my on server to provide the data needed to test.\n\n  - Third Part APIs running locally\n\n    Each time that I have a project that relies on third part apis I have problems to run it locally.\n\nThat's why I am working on this app so next time that I need some simple API. I gonna just get an api to go.\n\n# Usage\n\nIt implements a bunch of endpoits by default for you to use.\n\n## Json Api\nCreate a collection file inside the folder, for instance, `posts.json` with the follow format:\n```json\n{\n  \"data\": [\n    { \"id\": 1, \"title\": \"Some post\" },\n    { \"id\": 2, \"title\": \"Awesome post\" },\n    { \"id\": 3, \"title\": \"Another post\" }\n  ]\n}\n```\n\nRun the apitogo in the same folder:\n\n```bash\napitogo run\n```\n\nThat's it! Here is your api to go, sir. Try out:\n\n```bash\ncurl -XGET http://localhost:8080/posts\n```\n\nOr\n\n```bash\ncurl -XGET http://localhost:8080/posts/1\n```\n\n\nIt runs by default at port `8080` and for each json file inside the folder\nit is going to create a endpoint like this:\n\n   - `/posts` returns all data from inside the file\n   - `/posts/:id` returns an object from inside the file\n\n\n## Authentication API\n\nIt implements a basic oauth2 server also you can use for development\n\n   - `/authorize` for webclients authorizations\n   - `/token` for token requests\n\nDefault client_id: `1234` and client_secret: `apitogo1234`\n\n##\n\n# Future implementations\n\n - Json API\n    - [x] Json endpoint from files\n    - [x] Filter by id\n    - [ ] Query by parameters\n    - [ ] Restfull Api (GET, POST, PUT, DELETE)\n    - [ ] Sort\n    - [ ] Limit\n    - [ ] Follow json:api standards\n    - [ ] Graphql support\n\n - Authentication API\n    - [x] Oauth2 (token)\n    - [ ] Basic (user/password)\n    - [ ] Custom Clients ID/Keys\n    - [ ] Login Page\n\n - Websocket API\n    - [ ] Create/connect channels\n\n - Webhooks API\n    - [ ] configure callback requests endpoint\n\n - Customization\n    - [ ] Routes\n    - [ ] Schema\n\n - Distribution\n    - [ ] Installation pack for brew\n    - [ ] Installation Script for linux\n\n - Others\n    - [ ] Travis\n\n## Contributing\n\nIf you want to implement a feature, follow this steps:\n\n - Fork it!\n - Create your feature branch: `git checkout -b my-new-feature`\n - Commit your changes: `git commit -am 'Add some feature'`\n - Push to the branch: `git push origin my-new-feature`\n - Submit a pull request\n\nPull Requests are really welcome! Others support also.\n\n**Pull Request should have unit tests**\n\n# License\n\nThis project was made under MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcristianoliveira%2Fapitogo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcristianoliveira%2Fapitogo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcristianoliveira%2Fapitogo/lists"}