{"id":19666424,"url":"https://github.com/alotab/complete-fastapi-blog","last_synced_at":"2025-11-20T17:04:28.466Z","repository":{"id":210808933,"uuid":"701594841","full_name":"Alotab/Complete-FastAPI-Blog","owner":"Alotab","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-24T01:56:38.000Z","size":49,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-10T02:43:13.485Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/Alotab.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":"2023-10-07T02:29:56.000Z","updated_at":"2024-11-18T20:13:33.000Z","dependencies_parsed_at":"2024-11-11T16:41:23.188Z","dependency_job_id":null,"html_url":"https://github.com/Alotab/Complete-FastAPI-Blog","commit_stats":null,"previous_names":["alotab/complete-fastapi-blog"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alotab%2FComplete-FastAPI-Blog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alotab%2FComplete-FastAPI-Blog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alotab%2FComplete-FastAPI-Blog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alotab%2FComplete-FastAPI-Blog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Alotab","download_url":"https://codeload.github.com/Alotab/Complete-FastAPI-Blog/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240976185,"owners_count":19887439,"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":[],"created_at":"2024-11-11T16:27:38.586Z","updated_at":"2025-11-20T17:04:28.436Z","avatar_url":"https://github.com/Alotab.png","language":"Python","readme":"# \n\nThis API provides endpoints for managing posts.\n\n##Authentication\nThis API requires OAuth2 authentication to access all endpoints.\n\n##Endpoints\n\nGet All Posts\n\n### Get All Posts\n`GET /posts` \n\nRetrieves a list of posts.\n\n**Response:**\n```json\n[\n  {\n    \"id\": 1,\n    \"title\": \"Post Title\",\n    \"content\": \"Post content\",\n    \"owner_id\": 1,\n    \"votes\": 10\n  },\n  ...\n]\n\n```\n\n\nParameters:\n- `limit (optional)`: The maximum number of posts to return (default: 10)\n- `skip (optional)`: The offset from which to start retrieving posts (default: 0)\n- `search (optional)`: A search term to filter posts by title (case-insensitive)\n\n\n### Create Post\n`POST /posts` \n\nCreates a new post.\n\n**Request Body:**\n```\n{\n  \"title\": \"Post Title\",\n  \"content\": \"Post content\"\n}\n\n```\n\n**Response:**\n\n```\n{\n  \"id\": 1,\n  \"title\": \"Post Title\",\n  \"content\": \"Post content\",\n  \"owner_id\": 1,\n  \"votes\": 0\n}\n\n```\n\n### Get Post\n`GET /posts/{id}` \n\nRetrieves a specific post.\n\nParameters:\n- `id`: The ID of the post\n\n**Response:**\n```\n{\n  \"id\": 1,\n  \"title\": \"Post Title\",\n  \"content\": \"Post content\",\n  \"owner_id\": 1,\n  \"votes\": 10\n}\n\n```\n\n### Delete Post\n`DELETE /posts/delete/{id}` \n\nDeletes a specific post.\n\nParameters:\n- `id`: The ID of the post\n\n**Response:**\n```\n{\n  \"message\": \"posts was successfully deleted\"\n}\n```\n\n\n### Update Post\n`PUT /posts/{id}` \n\nUpdates a specific post.\n\n**Request Body:**\n```\n{\n  \"title\": \"Updated Post Title\",\n  \"content\": \"Updated post content\"\n}\n```\nParameters:\n\n- `id`: The ID of the post\n\n**Response:**\n\n```\n{\n  \"id\": 1,\n  \"title\": \"Updated Post Title\",\n  \"content\": \"Updated post content\",\n  \"owner_id\": 1,\n  \"votes\": 10\n}\n```\n\n# Database Migrations\n\nThis project uses Alembic for database migrations. Alembic is a tool for managing database schema changes. It allows you to define migrations, which are incremental changes to the database schema, and apply them to your database in a controlled manner.\n\nTo use Alembic, you will need to follow these steps:\n1. Create an initial migration:\n```\nalembic init\n```\n2. Edit the migration file that is generated to make the desired schema changes.\n3. Apply the migration to your database:\n```\nalembic upgrade\n```\n4. Repeat steps 2 and 3 for each schema change you make.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falotab%2Fcomplete-fastapi-blog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falotab%2Fcomplete-fastapi-blog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falotab%2Fcomplete-fastapi-blog/lists"}