{"id":18684309,"url":"https://github.com/manzi-cedrick/glossary-blocker-ruby-on-rails","last_synced_at":"2026-05-03T12:31:59.233Z","repository":{"id":109780824,"uuid":"593660722","full_name":"Manzi-Cedrick/glossary-blocker-ruby-on-rails","owner":"Manzi-Cedrick","description":"Ruby Glossaries api","archived":false,"fork":false,"pushed_at":"2023-02-06T06:43:53.000Z","size":54,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-27T23:54:45.738Z","etag":null,"topics":["api-gateway","docker","docker-file","ruby","ruby-on-rails","swagger"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Manzi-Cedrick.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-01-26T14:58:40.000Z","updated_at":"2023-10-19T21:55:14.000Z","dependencies_parsed_at":"2023-06-11T20:15:17.699Z","dependency_job_id":null,"html_url":"https://github.com/Manzi-Cedrick/glossary-blocker-ruby-on-rails","commit_stats":null,"previous_names":["manzi-cedrick/glossary-blocker-ruby-on-rails"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Manzi-Cedrick%2Fglossary-blocker-ruby-on-rails","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Manzi-Cedrick%2Fglossary-blocker-ruby-on-rails/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Manzi-Cedrick%2Fglossary-blocker-ruby-on-rails/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Manzi-Cedrick%2Fglossary-blocker-ruby-on-rails/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Manzi-Cedrick","download_url":"https://codeload.github.com/Manzi-Cedrick/glossary-blocker-ruby-on-rails/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239538920,"owners_count":19655681,"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-gateway","docker","docker-file","ruby","ruby-on-rails","swagger"],"created_at":"2024-11-07T10:17:07.851Z","updated_at":"2026-05-03T12:31:59.179Z","avatar_url":"https://github.com/Manzi-Cedrick.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# README\nTranslator API - An API with several endpoints to manage glossaries and translations.\nUse this test to demonstrate your understanding of OO and TDD.\nTask:\n- Implement an API-only Ruby on Rails application.\n- Use JSON as the response format.\n- Provide tests for your code.\n- You can use any sql database of your choice.\n- You can use any gems you like.\n- Send us your zipped solution.\nRequired endpoints:\n  POST /glossaries\n  Description: Creates a glossary.\n  Params:\nsource_language_code - an ISO 639-1 source language code\ntarget_language_code - an ISO 639-1 target language code\nRequirements:\n- a glossary must be unique within the system (scoped to language codes)\n- language code fields must contain a valid ISO 639-1 code\n- the list of possible ISO 639-1 codes is included in the file\nGET /glossaries/\u003cid\u003e\nDescription: Returns the glossary with all terms.\nGET /glossaries\nDescription: Returns all glossaries with terms.\nPOST /glossaries/\u003cid\u003e/terms\nDescription: Creates a term in the given glossary.\nParams:\nsource_term - a source term\ntarget_term - a target term\nRequirements:\n- source and target terms cannot be blank\nPOST /translations\nDescription: Creates a translation. Note: the translation process will not take place within this\napplication.\nParams:\nsource_language_code - an ISO 639-1 source language code\ntarget_language_code - an ISO 639-1 target language code\nsource_text - a source text to be translated\nglossary_id - an existing glossary id\nRequirements:\n- source_language_code, target_language_code, source_text fields must be\npresent\n- the glossary_id is optional\n- if the glossary_id is provided source_language_code and target_language_code\nfor translation and glossary must match\n- the maximum length of the source text is 5000 characters\nGET /translations/\u003cid\u003e\nDescription: Returns the translation.\nRequirements:\n- if the glossary is present the source_text should contain highlighted fragments representing\nthe glossary terms (if found)\n- use \u003cHIGHLIGHT\u003e\u003c/HIGHLIGHT\u003e tags to represent highlights in the source_text\n- include a list of matching terms in the response\nExample:\nsource_text: \"This is a recruitment task.\"\nglossary term: \"recruitment\"\nhighlighted source_text: \"This is a \u003cHIGHLIGHT\u003erecruitment\u003c/HIGHLIGHT\u003e task.\"\nBonus:\n- Provide a Dockerfile which allows to run your app\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanzi-cedrick%2Fglossary-blocker-ruby-on-rails","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanzi-cedrick%2Fglossary-blocker-ruby-on-rails","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanzi-cedrick%2Fglossary-blocker-ruby-on-rails/lists"}