{"id":15679654,"url":"https://github.com/nejdetkadir/google-keep-api","last_synced_at":"2025-05-07T10:22:00.708Z","repository":{"id":132709283,"uuid":"423808185","full_name":"nejdetkadir/google-keep-api","owner":"nejdetkadir","description":"Google Keep API with Ruby on Rails","archived":false,"fork":false,"pushed_at":"2021-11-03T20:49:56.000Z","size":270,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-27T05:10:33.733Z","etag":null,"topics":["api","clone-api","google-keep","google-keep-api","rails-api","ruby-on-rails-6"],"latest_commit_sha":null,"homepage":"https://google-keep-api-app.herokuapp.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nejdetkadir.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":"2021-11-02T10:59:00.000Z","updated_at":"2024-08-04T04:23:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"4bd661fa-8fc9-42c4-9e32-cebed5561d73","html_url":"https://github.com/nejdetkadir/google-keep-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"nejdetkadir/rails-6-api-boilerplate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nejdetkadir%2Fgoogle-keep-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nejdetkadir%2Fgoogle-keep-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nejdetkadir%2Fgoogle-keep-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nejdetkadir%2Fgoogle-keep-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nejdetkadir","download_url":"https://codeload.github.com/nejdetkadir/google-keep-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232806885,"owners_count":18579333,"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":["api","clone-api","google-keep","google-keep-api","rails-api","ruby-on-rails-6"],"created_at":"2024-10-03T16:34:26.207Z","updated_at":"2025-01-07T00:53:36.706Z","avatar_url":"https://github.com/nejdetkadir.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f644447a7b3442479e485f1821c45ab8)](https://www.codacy.com/gh/nejdetkadir/google-keep-api/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=nejdetkadir/google-keep-api\u0026amp;utm_campaign=Badge_Grade)\n\n# Google Keep API\n![logo](docs/logo.png)\n[Google Keep API](https://google-keep-api-app.herokuapp.com) with Ruby on Rails\n\n## Database Schema\n![database](docs/database.png)\n\n## API Endpoints\n### Authentication\n| Route | HTTP Verb | Request Body | Header Body | Description |\n| --- | --- | --- | --- | --- |\n| /users | `POST` | ```{user: {email: \"foo@bar.com\", password: \"mypass\", password_confirmation: \"mypass\", fullname: \"şevo\"}}``` | Empty | Returns authentication bearer token on header |\n| /users/sign_in | `POST` | ```{user: {email: \"foo@bar.com\", password: \"mypass\"}}``` | Empty | Returns authentication bearer token on header |\n| /users/sign_out | `DELETE` | Empty  | Authentication: Bearer Token | Returns sign out message |\n\n### Colors\n| Route | HTTP Verb | Request Body | Header Body | Description |\n| --- | --- | --- | --- | --- |\n| /colors | `GET` | Empty | Authentication: Bearer Token | Returns user's colors |\n| /colors | `POST` | ```{color: {color: \"hexcode-or-rgb-or-etc\"}}``` | Authentication: Bearer Token | Returns created resource or error messages |\n| /colors/:id | `GET` | Empty  | Authentication: Bearer Token | Returns resource |\n| /colors/:id | `PATCH` | ```{color: {color: \"#fff\"}}```  | Authentication: Bearer Token | Returns updated resource or error messages |\n| /colors/:id | `PUT` | ```{color: {color: \"#fff\"}}``` | Authentication: Bearer Token | Returns updated resource or error messages |\n| /colors/:id | `DELETE` | Empty  | Authentication: Bearer Token | Returns status of destroying |\n\n### Labels\n| Route | HTTP Verb | Request Body | Header Body | Description |\n| --- | --- | --- | --- | --- |\n| /labels | `GET` | Empty | Authentication: Bearer Token | Returns user's labels |\n| /labels | `POST` | ```{label: {name: \"Business\"}}``` | Authentication: Bearer Token | Returns created resource or error messages |\n| /labels/:id | `GET` | Empty  | Authentication: Bearer Token | Returns resource |\n| /labels/:id | `PATCH` | ```{label: {name: \"Birthday\"}}```  | Authentication: Bearer Token | Returns updated resource or error messages |\n| /labels/:id | `PUT` | ```{label: {name: \"Car\"}}``` | Authentication: Bearer Token | Returns updated resource or error messages |\n| /labels/:id | `DELETE` | Empty  | Authentication: Bearer Token | Returns status of destroying |\n\n### Notes\n| Route | HTTP Verb | Request Body | Header Body | Description |\n| --- | --- | --- | --- | --- |\n| /notes | `GET` | Empty | Authentication: Bearer Token | Returns user's notes |\n| /notes?status=normal | `GET` | Empty | Authentication: Bearer Token | Returns user's normal notes |\n| /notes?status=archived | `GET` | Empty | Authentication: Bearer Token | Returns user's archived notes |\n| /notes?status=deleted | `GET` | Empty | Authentication: Bearer Token | Returns user's deleted notes |\n| /notes | `POST` | ```{label: {name: \"Business\"}}``` | Authentication: Bearer Token | Returns created resource or error messages |\n| /notes/:id | `GET` | Empty  | Authentication: Bearer Token | Returns resource |\n| /notes/:id | `PATCH` | ```{label: {name: \"Birthday\"}}```  | Authentication: Bearer Token | Returns updated resource or error messages |\n| /notes/:id | `PUT` | ```{label: {name: \"Car\"}}``` | Authentication: Bearer Token | Returns updated resource or error messages |\n| /notes/:id | `DELETE` | Empty  | Authentication: Bearer Token | Returns status of destroying |\n\n### Images of Note\n| Route | HTTP Verb | Request Body | Header Body | Description |\n| --- | --- | --- | --- | --- |\n| /notes/:note_id/images | `GET` | Empty | Authentication: Bearer Token | Returns user's images of note |\n| /notes/:note_id/images | `POST` | ```{image: {image: Image File}}``` | Authentication: Bearer Token | Returns created resource or error messages |\n| /notes/:note_id/images/:id | `DELETE` | Empty  | Authentication: Bearer Token | Returns status of destroying |\n\n### Todos of Note\n| Route | HTTP Verb | Request Body | Header Body | Description |\n| --- | --- | --- | --- | --- |\n| /notes/:note_id/todos | `GET` | Empty | Authentication: Bearer Token | Returns user's todos of note |\n| /notes/:note_id/todos | `POST` | ```{todo: {content: \"Create a CV\", status: 0, sequence: 0}}``` | Authentication: Bearer Token | Returns created resource or error messages |\n| /notes/:note_id/todos/:id | `GET` | Empty | Authentication: Bearer Token | Returns resource |\n| /notes/:note_id/todos/:id | `PATCH` | ```{todo: {sequence: 1}}``` | Authentication: Bearer Token | Returns updated resource or error messages |\n| /notes/:note_id/todos/:id | `PUT` | ```{todo: {sequence: 2}}``` | Authentication: Bearer Token | Returns updated resource or error messages |\n| /notes/:note_id/todos/:id | `DELETE` | Empty  | Authentication: Bearer Token | Returns status of destroying |\n\n### Collaborators of Note\n| Route | HTTP Verb | Request Body | Header Body | Description |\n| --- | --- | --- | --- | --- |\n| /notes/:note_id/collaborators | `GET` | Empty | Authentication: Bearer Token | Returns user's collaborators of note |\n| /notes/:note_id/collaborators | `POST` | ```{collaborator: {email: \"foo@bar.com\"}}``` | Authentication: Bearer Token | Returns created resource or error messages |\n| /notes/:note_id/collaborators/:id | `DELETE` | Empty  | Authentication: Bearer Token | Returns status of destroying |\n\n# Installation\n## Prerequisites\n- [Ruby](https://rvm.io/)\n- [NodeJS (\u003e=10.x)](https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions)\n- [PostgreSQL](https://www.postgresql.org/download/)\n- [ImageMagick](https://imagemagick.org/) `sudo apt-get install imagemagick libmagickcore-dev libmagickwand-dev`\n\n## Installation\n- Install GEM dependencies:\n\n  ```bash\n  bundle install\n  ```\n\n- Create database, migrate tables and run the seed data:\n\n  ```bash\n  rails db:create\n  rails db:migrate\n  rails db:seed\n  ```\n\n- If you are setting up again, when you already have previous databases:\n\n  ```bash\n  rails db:reset\n  ```\n- For dropping database\n  ```bash\n  rails db:drop\n  ``` \n\n# LICENSE\n```\nGNU GENERAL PUBLIC LICENSE Version 3\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnejdetkadir%2Fgoogle-keep-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnejdetkadir%2Fgoogle-keep-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnejdetkadir%2Fgoogle-keep-api/lists"}