{"id":15294819,"url":"https://github.com/airabinovich/memequotes_back","last_synced_at":"2025-03-24T17:43:29.327Z","repository":{"id":92725701,"uuid":"272274186","full_name":"airabinovich/memequotes_back","owner":"airabinovich","description":"Backend for Memequotes Application","archived":false,"fork":false,"pushed_at":"2020-06-19T23:49:23.000Z","size":42,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-29T22:29:14.543Z","etag":null,"topics":["backend","go"],"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/airabinovich.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":"2020-06-14T20:00:45.000Z","updated_at":"2020-06-24T18:14:46.000Z","dependencies_parsed_at":"2023-04-12T11:50:03.881Z","dependency_job_id":null,"html_url":"https://github.com/airabinovich/memequotes_back","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airabinovich%2Fmemequotes_back","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airabinovich%2Fmemequotes_back/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airabinovich%2Fmemequotes_back/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airabinovich%2Fmemequotes_back/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/airabinovich","download_url":"https://codeload.github.com/airabinovich/memequotes_back/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245319966,"owners_count":20596078,"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":["backend","go"],"created_at":"2024-09-30T17:07:10.233Z","updated_at":"2025-03-24T17:43:29.321Z","avatar_url":"https://github.com/airabinovich.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Memequotes\n\nThis is a dumb application to use as template for a Golang + Gin-gonic backend app\n\n## Database\n\n### Structure\n\nThe database structure is in `db_structure.sql`\n\n### Host and Credentials\n\nThe DB host and credentials should be in a file `credentials.conf` (added in .gitignore) with format\n\n```conf\ndb.host=localhost\ndb.port=3306\ndb.user=root\ndb.password=password\n```\n\nRun the application using\n```sh\ngo run main.go --credentials=credentials.conf\n```\n\n## Endpoints\n\n### POST /character\nCreates a new Character. The body for the call should be\n```json\n{\n  \"name\": \"character_name\"\n}\n```\n\n### GET /characters\nRetrieve all Characters. The response body should be\n```json\n{\n  \"results\": [\n    {\n      \"id\": 1,\n      \"name\": \"character_name\",\n      \"date_created\": \"2020-06-14T17:45:00.000Z\",\n      \"last_updated\": \"2020-06-14T17:45:00.000Z\"\n    }\n  ]\n}\n```\n\n### GET /character/:character-id\nRetrieve the Character matching the Id. The response body should be\n```json\n{\n  \"id\": 1,\n  \"name\": \"character_name\",\n  \"date_created\": \"2020-06-14T17:45:00.000Z\",\n  \"last_updated\": \"2020-06-14T17:45:00.000Z\"\n}\n```\n\n### PATCH /character/:character-id\nEdit a Character. The body should be\n```json\n{\n  \"name\": \"new_character_name\"\n}\n```\n\n### DELETE /character/:character-id\nDelete a character. No body for response, status 410 if deleted\n\n### GET /character/:character-id/phrase/:phrase-id\nRetrieve a phrases from a character, only if it belongs to that character. Response body:\n```json\n{\n  \"id\": 1,\n  \"content\": \"phrase content\",\n  \"date_created\": \"2020-06-14T17:45:00.000Z\",\n  \"last_updated\": \"2020-06-14T17:45:00.000Z\"\n}\n```\n\n### GET /character/:character-id/phrases\nRetrieve all phrases from a character. Response body:\n```json\n{\n  \"results\": [\n    {\n      \"id\": 1,\n      \"content\": \"phrase content\",\n      \"date_created\": \"2020-06-14T17:45:00.000Z\",\n      \"last_updated\": \"2020-06-14T17:45:00.000Z\"\n    }\n  ]\n}\n```\n\n### POST /character/:character-id/phrase\nCreate a new phrase for a character. The body:\n```json\n{\n  \"content\": \"phrase content\"\n}\n```\n\n### DELETE /character/:character-id/phrase/:phrase-id\nDelete a phrase matching the phrase-id, only if it belongs to the character-id. No body for response, status 410 if deleted\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fairabinovich%2Fmemequotes_back","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fairabinovich%2Fmemequotes_back","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fairabinovich%2Fmemequotes_back/lists"}