{"id":21084848,"url":"https://github.com/shanu-shahbin/blogs-fastapi-","last_synced_at":"2025-03-14T05:12:59.580Z","repository":{"id":236477192,"uuid":"792688392","full_name":"shanu-shahbin/Blogs-FastAPI-","owner":"shanu-shahbin","description":"The FastAPI Blog API is a RESTful web service built using FastAPI, allowing CRUD (Create, Read, Update, Delete) operations on blog posts. It provides endpoints for managing blog posts with authentication using JWT tokens and OAuth2. The API also integrates Swagger UI and ReDoc for interactive API documentation.","archived":false,"fork":false,"pushed_at":"2024-04-28T02:46:14.000Z","size":12,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T00:15:23.339Z","etag":null,"topics":["api","crud","fastapi","oauth2","pyjwt","redoc","swagger-ui"],"latest_commit_sha":null,"homepage":"","language":null,"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/shanu-shahbin.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":"2024-04-27T09:31:56.000Z","updated_at":"2024-10-18T15:41:29.000Z","dependencies_parsed_at":"2024-11-19T20:42:04.510Z","dependency_job_id":null,"html_url":"https://github.com/shanu-shahbin/Blogs-FastAPI-","commit_stats":null,"previous_names":["shanu-shahbin/blogs-fastapi-"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shanu-shahbin%2FBlogs-FastAPI-","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shanu-shahbin%2FBlogs-FastAPI-/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shanu-shahbin%2FBlogs-FastAPI-/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shanu-shahbin%2FBlogs-FastAPI-/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shanu-shahbin","download_url":"https://codeload.github.com/shanu-shahbin/Blogs-FastAPI-/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243526953,"owners_count":20305115,"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","crud","fastapi","oauth2","pyjwt","redoc","swagger-ui"],"created_at":"2024-11-19T20:27:28.249Z","updated_at":"2025-03-14T05:12:59.555Z","avatar_url":"https://github.com/shanu-shahbin.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Blogs-FastAPI-\nNote *** Switch to master branch for code \u003cbr\u003e\u003cbr\u003e\nThe FastAPI Blog API is a RESTful web service built using FastAPI, allowing CRUD (Create, Read, Update, Delete) operations on blog posts. It provides endpoints for managing blog posts with authentication using JWT tokens and OAuth2. The API also integrates Swagger UI and ReDoc for interactive API documentation.\n\n![FastAPI - Swagger UI](https://github.com/shanu-shahbin/Blogs-FastAPI-/assets/107126924/7c4c47d3-3b0d-4566-a6ae-0d331bc50fc1)\n\n## Features\n\n- **CRUD Operations:** Perform Create, Read, Update, and Delete operations on blog posts.\n- **Interactive API Documentation:** Integrated Swagger UI and ReDoc for easy exploration of API endpoints.\n- **Authentication:** Secure endpoints using JWT tokens and OAuth2 for user authentication.\n- **Validation:** Input data validation ensures data integrity and security.\n- **Pagination:** Paginate through large collections of blog posts to improve performance.\n- **Search:** Search functionality to find specific blog posts based on keywords.\n- **User Management:** Manage users with roles and permissions for accessing resources.\n- **Testing:** Thoroughly tested using Postman API for reliability and stability.\n- **Logging:** Comprehensive logging to track API requests, errors, and system behavior.\n- **Deployment:** Easily deploy the API to various platforms such as AWS, Azure, or Google Cloud.\n\n\n![FastAPI - auth](https://github.com/shanu-shahbin/Blogs-FastAPI-/assets/107126924/547ebad1-3e69-4de4-8b70-051ee09a81cc)\n\n## Prerequisites\n\n\nBefore running the project, make sure you have the following installed:\n\n- Python 3.7+\n- [FastAPI](https://fastapi.tiangolo.com/)\n- [uvicorn](https://www.uvicorn.org/)\n- [PyJWT](https://pyjwt.readthedocs.io/en/stable/)\n- [OAuthlib](https://oauthlib.readthedocs.io/en/latest/)\n- [Postman](https://www.postman.com/) (for testing)\n\n## Installation\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/your_username/fastapi-blog-api.git\n   ```\n\n2. Navigate to the project directory:\n\n   ```bash\n   cd fastapi-blog-api\n   ```\n\n3. Install the dependencies:\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n## Usage\n\n1. Run the FastAPI server using uvicorn:\n\n   ```bash\n   uvicorn main:app --reload\n   ```\n\n2. Open your web browser and navigate to [http://localhost:8000/docs](http://localhost:8000/docs) for the Swagger UI or [http://localhost:8000/redoc](http://localhost:8000/redoc) for the ReDoc documentation.\n\n3. Authenticate using JWT tokens or OAuth2 to access protected routes.\n\n## Testing\n\nYou can test the API using Postman:\n\n1. Import the provided Postman collection (`fastapi-blog-api.postman_collection.json`) into Postman.\n2. Use the collection to send requests to the API endpoints and verify the responses.\n\n## Contributing\n\nContributions are welcome! If you find any issues or have suggestions for improvements, feel free to open an issue or create a pull request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshanu-shahbin%2Fblogs-fastapi-","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshanu-shahbin%2Fblogs-fastapi-","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshanu-shahbin%2Fblogs-fastapi-/lists"}