{"id":22927319,"url":"https://github.com/abarrak/card-mine-api","last_synced_at":"2026-04-16T03:31:13.176Z","repository":{"id":74370889,"uuid":"84100993","full_name":"abarrak/card-mine-api","owner":"abarrak","description":"Generates cards and saves them for later use or sharing.","archived":false,"fork":false,"pushed_at":"2017-06-17T05:07:50.000Z","size":4927,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-01T15:50:44.603Z","etag":null,"topics":["cards","devise-token-auth","factory-girl","jbuilder","json","rails","rails-api","rspec"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/abarrak.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":"2017-03-06T17:23:23.000Z","updated_at":"2017-06-25T00:34:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"2fb995aa-ec69-402c-a592-9b2bbe906c1d","html_url":"https://github.com/abarrak/card-mine-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/abarrak/card-mine-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abarrak%2Fcard-mine-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abarrak%2Fcard-mine-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abarrak%2Fcard-mine-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abarrak%2Fcard-mine-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abarrak","download_url":"https://codeload.github.com/abarrak/card-mine-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abarrak%2Fcard-mine-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31870506,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"online","status_checked_at":"2026-04-16T02:00:06.042Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cards","devise-token-auth","factory-girl","jbuilder","json","rails","rails-api","rspec"],"created_at":"2024-12-14T09:14:12.573Z","updated_at":"2026-04-16T03:31:12.925Z","avatar_url":"https://github.com/abarrak.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Card Mine API\n[![Build Status](https://travis-ci.org/abarrak/card-mine-api.svg?branch=master)](https://travis-ci.org/abarrak/card-mine-api) [![Test Coverage](https://lima.codeclimate.com/github/abarrak/card-mine-api/badges/coverage.svg)](https://lima.codeclimate.com/github/abarrak/card-mine-api/coverage)\n\n![Logo](https://raw.githubusercontent.com/abarrak/card-mine-api/master/public/images/logo.png)\n\n\n## Overview\nThis repository contains the source code of Card Mine web API. \n  \nIt works as a card factory engine that helps you generate different kinds of cards along with stamps of formatted text, then persist them in the cloud.\n\nIt's essentially implemented to be the back-end to my capstone project for Udacity iOS nanodegree. \n\n\n## REST API Documentation\nThe following table summarizes the various API endpoints. \n  \n| path                                     | method | purpose                                  |\n| :--------------------------------------- | :----: | :--------------------------------------- |\n| /api/v1/auth                             |  POST  | Email registration. Requires **email**, **password**, and **password_confirmation** params. A verification email will be sent to the email address provided. |\n| /api/v1/auth                             | DELETE | Account deletion. This route will destroy users identified by their **uid**, **access_token** and **client** headers. |\n| /api/v1/auth                             |  PUT   | Account updates. This route will update an existing user's account settings. The default accepted params are **password** and **password_confirmation** |\n| /api/v1/auth/sign_in                     |  POST  | Email authentication. Requires **email** and **password** as params. This route will return a JSON representation of the `User` model on successful login along with the `access-token` and `client` in the header of the response. |\n| /api/v1/auth/sign_out                    | DELETE | Use this route to end the user's current session. This route will invalidate the user's authentication token. You must pass in **uid**, **client**, and **access-token** in the request headers. |\n| /api/v1/auth/validate_token              |  GET   | Use this route to validate tokens on return visits to the client. Requires **uid**, **client**, and **access-token** as params. These values should correspond to the columns in your `User` table of the same names. |\n| /api/v1/auth/password                    |  PUT   | Use this route to change users' passwords. Requires **password** and **password_confirmation** as params. |\n| /api/v1/auth/password/edit               |  GET   | Verify user by password reset token. This route is the destination URL for password reset confirmation. This route must contain **reset_password_token** and **redirect_url** params. These values will be set automatically by the confirmation email that is generated by the password reset request. |\n| /api/v1/templates                        |  GET   | Get the full catalog of cards template that Card Mine provides. |\n| /api/v1/cards/                           |  GET   | Get all of the signed in user's card.    |\n| /api/v1/cards/                           |  POST  | Create a new card for the currently signed in user. |\n| /api/v1/cards/:id                        |  GET   | Get a specific card of the signed in user. |\n| /api/v1/cards/:id                        |  PUT   | Update a specific card of the signed in user. |\n| /api/v1/cards/:id                        | DELETE | Destroys the specified card record along with its related textual content records. |\n| /api/v1/cards/:card_id/textual_content   |  GET   | Returns all the texts associated with a specific card with all relative information of the textual content. |\n| /api/v1/cards/:card_id/textual_content   |  POST  | Create a new textual content for the specified card. |\n| /api/v1/cards/:card_id/textual_content/:id |  GET   | Return the textual content record with the provided id parameter. |\n| /api/v1/cards/:card_id/textual_content/:id |  PUT   | Updates the textual content record with the provided id parameter. |\n| /api/v1/cards/:card_id/textual_content/:id | DELETE | Destroys the textual content record with the provided id parameter. |\n  \nA the complete documentation will be provided soon.\n\n\n## Live\nCard Mine API version can be consumed online via heroku: [http://cardmine.herokuapp.com/](http://cardmine.herokuapp.com/).\n\nFor example, the following snippet gets the catalog of existing card templates in json form:\n  \n```sh\ncurl -X GET http://cardmine.herokuapp.com/api/v1/templates\n```\n\n## Security\nAccess to all API resources (except static content) is restricted to request with valid token that adheres to [HTTP Token Authentication](http://api.rubyonrails.org/classes/ActionController/HttpAuthentication/Token/ControllerMethods.html).\n\n\n## iOS Client App \nRefer to this [repo](https://github.com/abarrak/card-mine) to review the app code and related files.\n\n\n## TODO\n1. ~~Add throttling and clients access keys.~~\n2. Document the API extensively.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabarrak%2Fcard-mine-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabarrak%2Fcard-mine-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabarrak%2Fcard-mine-api/lists"}