{"id":23943858,"url":"https://github.com/ashkan-khd/punchline-api","last_synced_at":"2026-04-14T10:33:01.523Z","repository":{"id":271124595,"uuid":"895095913","full_name":"ashkan-khd/punchline-api","owner":"ashkan-khd","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-09T23:24:09.000Z","size":143,"stargazers_count":0,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-20T06:33:25.430Z","etag":null,"topics":["asyncio","docker","docker-compose","flask","flask-restful","microservices","mongodb","nameko","postgresql","pytest","python","python-interface","rabbitmq","redis","requests","uwsgi"],"latest_commit_sha":null,"homepage":"","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/ashkan-khd.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-11-27T14:52:29.000Z","updated_at":"2025-01-10T07:42:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"ad84a1d9-0b8e-422b-9488-cc796c29caf2","html_url":"https://github.com/ashkan-khd/punchline-api","commit_stats":null,"previous_names":["ashkan-khd/punchline-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ashkan-khd/punchline-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashkan-khd%2Fpunchline-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashkan-khd%2Fpunchline-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashkan-khd%2Fpunchline-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashkan-khd%2Fpunchline-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ashkan-khd","download_url":"https://codeload.github.com/ashkan-khd/punchline-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashkan-khd%2Fpunchline-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31793215,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T02:24:21.117Z","status":"ssl_error","status_checked_at":"2026-04-14T02:24:20.627Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["asyncio","docker","docker-compose","flask","flask-restful","microservices","mongodb","nameko","postgresql","pytest","python","python-interface","rabbitmq","redis","requests","uwsgi"],"created_at":"2025-01-06T06:14:31.544Z","updated_at":"2026-04-14T10:33:01.517Z","avatar_url":"https://github.com/ashkan-khd.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# General\n\nThis application implements a minimalistic flask API application that would let the user search, create, delete and\nupdate jokes from [Chuck Norris jokes](https://api.chucknorris.io/), that works through for example Postman.\nTo simplify the description, we will call [Chuck Norris jokes](https://api.chucknorris.io/) as remote and application\nimplemented in this repository as local.\n\n## The APIs\n\n![](https://api.chucknorris.io/img/chucknorris_logo_coloured_small.png)\n\nThe API mainly consists of these 5 endpoints:\n\n### `GET /jokes/?query={query}`\n\nFree text search endpoint. You should take local and remote search results into consideration.\n\n### `POST /api/jokes/`\n\nEndpoint to create joke locally.\n\n### `GET /api/jokes/{id}`\n\nEndpoint to retrieve a joke by unique id. You should take local and remote results into consideration.\n\n### `PUT /api/jokes/{id}`\n\nEndpoint to update a joke by unique id. If the joke does not exist, return 404 not found. But if it does, store a\nupdated version locally. Any subsequent reads should only see this updated version.\n\n### `DELETE /api/jokes/{id}`\n\nEndpoint to delete a joke by unique id. If the joke does not exist, return 404 not found. But if it does, mark the joke\nlocally as deleted. Any subsequent reads should *NOT* see this joke.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashkan-khd%2Fpunchline-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fashkan-khd%2Fpunchline-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashkan-khd%2Fpunchline-api/lists"}