{"id":18895082,"url":"https://github.com/qmacias/bookstore-backend","last_synced_at":"2026-05-08T04:03:36.137Z","repository":{"id":247098858,"uuid":"818730084","full_name":"qmacias/bookstore-backend","owner":"qmacias","description":"CAC 4.0 Full Stack Python, Vue.js 2024","archived":false,"fork":false,"pushed_at":"2024-07-06T13:53:00.000Z","size":86,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-15T00:42:13.738Z","etag":null,"topics":["api-rest","ddd","flask","mysql","python"],"latest_commit_sha":null,"homepage":"http://qmacias.pythonanywhere.com/health_check","language":"Python","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/qmacias.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":"2024-06-22T17:34:07.000Z","updated_at":"2024-07-06T13:53:48.000Z","dependencies_parsed_at":"2024-07-06T16:03:49.015Z","dependency_job_id":null,"html_url":"https://github.com/qmacias/bookstore-backend","commit_stats":null,"previous_names":["qmacias/bookstore-backend"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qmacias%2Fbookstore-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qmacias%2Fbookstore-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qmacias%2Fbookstore-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qmacias%2Fbookstore-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qmacias","download_url":"https://codeload.github.com/qmacias/bookstore-backend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239869495,"owners_count":19710540,"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-rest","ddd","flask","mysql","python"],"created_at":"2024-11-08T08:26:32.380Z","updated_at":"2026-05-08T04:03:36.041Z","avatar_url":"https://github.com/qmacias.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Getting Started\n\nWe're using Python v3.10.0 and Flask v3.0.3\n\n## Bookstore routes\n\nHere the client interacts with the provided Flask API endpoints.\n\n| Method | Url                                                   | Description      |\n|--------|-------------------------------------------------------|------------------|\n| GET    | http://qmacias.pythonanywhere.com/health_check        | Health check     |\n| GET    | http://qmacias.pythonanywhere.com/authors             | Search authors   |\n| POST   | http://qmacias.pythonanywhere.com/authors             | Create an author |\n| PUT    | http://qmacias.pythonanywhere.com/authors/{author_id} | Modify an author |\n| GET    | http://qmacias.pythonanywhere.com/authors/{author_id} | Search an author |\n| DELETE | http://qmacias.pythonanywhere.com/authors/{author_id} | Remove an author |\n\n---\n\nHealth check\n```bash\nhttp GET http://qmacias.pythonanywhere.com/health_check\n```\n\nSearch authors:\n```bash\nhttp GET http://qmacias.pythonanywhere.com/authors\n```\n\nCreate an author\n```bash\necho '{\"name\": \"John Doe\"}' | http POST http://qmacias.pythonanywhere.com/authors\n```\n\n(*) Create an author\n\n{\"error\": \"Author name 'None' not valid.\"}\n\nERROR:AuthorNameNotValidType: 'NoneType' object has no attribute 'strip'\n```bash\necho '{}' | http POST http://qmacias.pythonanywhere.com/authors\n```\n{\"error\": \"Author name '' not valid.\"}\n\nERROR:AuthorNameNotValidPattern: no pattern for ''\n```bash\necho '{\"name\": \"\"}' | http POST http://qmacias.pythonanywhere.com/authors\n```\n{\"error\": \"Author name 'john_doe' not valid.\"}\n\nERROR:AuthorNameNotValidPattern: no pattern for 'john_doe'\n```bash\necho '{\"name\": \"john_doe\"}' | http POST http://qmacias.pythonanywhere.com/authors\n```\n{\"error\": \"Author name 'John Doe' already exists.\"}\n\nERROR:AuthorNameAlreadyExistsIntegrity: 1062 (23000): Duplicate entry 'John Doe' for key 'authors.name'\n```bash\necho '{\"name\": \"John Doe\"}' | http POST http://qmacias.pythonanywhere.com/authors\n```\n\nModify an author\n```bash\necho '{\"name\": \"Margaret Jones\"}' | http PUT http://qmacias.pythonanywhere.com/authors/cea03186-4606-432c-8d16-ed47276cae5d\n```\n\n(*) Modify an author\n\n{\"error\": \"Author id 'cea03186-4606-432c-8d16-ed47276cae5.' not valid.\"}\n\nERROR:AuthorIdNotValidFormat: invalid literal for int() with base 16: 'cea031864606432c8d16ed47276cae5.'\n```bash\necho '{\"name\": \"Margaret Jones\"}' | http PUT http://qmacias.pythonanywhere.com/authors/cea03186-4606-432c-8d16-ed47276cae5.\n```\n{\"error\": \"Author id 'cea03186-4606-432c-8d16-ed47276cae5d.' not valid.\"}\n\nERROR:AuthorIdNotValidFormat: badly formed hexadecimal UUID string\n```bash\necho '{\"name\": \"Margaret Jones\"}' | http PUT http://qmacias.pythonanywhere.com/authors/cea03186-4606-432c-8d16-ed47276cae5d.\n```\n\nSearch an author\n```bash\nhttp GET http://qmacias.pythonanywhere.com/authors/cea03186-4606-432c-8d16-ed47276cae5d\n```\n\n(*) Search an author\n\n{\"error\": \"Author 'd77fafb5-701e-40b7-b73d-9832a24ed968' does not exist.\"}\n\nERROR:AuthorDoesNotExistsUnknown: unknown registry: 'd77fafb5-701e-40b7-b73d-9832a24ed968'\n```bash\nhttp GET http://qmacias.pythonanywhere.com/authors/d77fafb5-701e-40b7-b73d-9832a24ed968\n```\n\nRemove an author\n```bash\nhttp DELETE http://qmacias.pythonanywhere.com/authors/cea03186-4606-432c-8d16-ed47276cae5d\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqmacias%2Fbookstore-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqmacias%2Fbookstore-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqmacias%2Fbookstore-backend/lists"}