{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"15e77dee-c192-4447-9a9a-5da1b1e2b6da","name":"Blog Application","description":"# Blogging Application\n\n<img src=\"https://user-images.githubusercontent.com/105907169/209240082-4c5793e1-e72f-4778-bb9f-194bbdc4d3a1.jpg\">\n\n## **WEB SERVICE : REST A.P.I.**\n\n##### [**Source Code**](https://github.com/TejasMedade/Blog-Application) **:** [**https://github.com/TejasMedade/Blog-Application**](https://github.com/TejasMedade/Blog-Application)\n\nThe Blogging Application's REST API is a web-based platform that empowers bloggers and users to share their ideas and perspectives in an interactive way. The API allows users to publish blogs on their personal profiles, complete with image support, which enhances the user experience. The API also enables users to view and search for blogs and blog categories that align with their personal interests, fostering a community-driven platform. Users can also leave comments on published posts, encouraging engagement.\n\nThe API uses standard HTTP methods to retrieve, create, update, and delete data, providing a secure and robust way for the Blogging Application to interact with the data, making it easy and safe for users to share their thoughts and ideas. This REST API is an ideal solution for anyone who wants to connect with others and share their ideas through blogging.\n\n## Features\n\n- The API implements Spring Security and JSON Web Token (J.W.T) for authentication, validation, and authorization of users and administrators.\n- The API includes functionality for pagination, sorting, and searching of data.\n- The API implements custom exception handling for all exceptions and validations.\n- The API utilizes custom request and response data transfer objects for all HTTP requests.\n- The API's primary objective is to provide a streamlined and user-friendly blogging experience for users.\n- Built on REST Architecture\n- Consumable by clients that support HTTP Protocol\n- Can be integrated with any application that supports REST API\n- Suitable for a wide range of use cases.\n    \n\n## Tech Stack\n\n- JAVA\n- SPRING\n- SPRINGBOOT\n- HIBERNATE\n- MAVEN\n- J.D.B.C\n- MYSQL\n- POSTMAN\n    \n\n## Dependencies\n\n- JWT AUTHENTICATION\n- SPRING SECURITY\n- SPRING DATA JPA\n- SPRING BOOT DEVTOOLS\n- SPRING WEB\n- HIBERNATE\n- MYSQL DRIVER\n- VALIDATION\n- LOMBOK\n- MODEL MAPPER\n- LOGGER\n    \n\n## User Functionalities\n\n- **Authentication Management**\n    - Endpoint for Sign Up\n    - Endpoint for Sign In\n    - Endpoint for Sign Out\n- **Profile Management**\n    - Endpoint for Updating User Information\n    - Endpoint for Retrieving User Information\n    - Endpoint for Deleting User Account\n- **Post Management**\n    - Endpoint for Creating Posts\n    - Endpoint for Updating Posts\n    - Endpoint for Retrieving Posts\n    - Endpoint for Deleting Posts\n    - Endpoint for Adding Comments to Posts\n    - Endpoint for Updating Post Images\n    - Endpoint for Retrieving Posts with Custom Pagination\n- **Category Management**\n    - Endpoint for Creating Categories\n    - Endpoint for Updating Categories\n    - Endpoint for Retrieving Categories\n    - Endpoint for Deleting Categories\n- **Searching & Sorting Posts**\n    - Endpoint for Searching Posts by :\n        - Title\n        - Date\n        - Category\n    - Endpoint for Sorting Posts by :\n        - Date\n        - Popularity\n- **User Search**\n    - Endpoint for Searching Users by :\n        - Name\n\n## Administrator Functionalities\n\n- **Authentication Management**\n    - Endpoint for Sign Up Other Admin Accounts\n    - Endpoint for Sign In\n    - Endpoint for Sign Out\n- **Profile Management**\n    - Endpoint for Deleting Admin Accounts\n- **Post Management**\n    - Endpoint for Retrieving Posts\n    - Endpoint for Deleting Posts\n- **Category Management**\n    - Endpoint for Retrieving Categories\n    - Endpoint for Deleting Categories\n- **Comment Management**\n    - Endpoint for Retrieving Comments\n    - Endpoint for Deleting Comments\n\n## Contributions\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **Greatly Appreciated**.\n\nIf you have any ideas on how to improve this web service, please feel free to fork the repository and submit a pull request. Your contributions, no matter how big or small, are greatly appreciated and will help to make this repository even better.\n\nIn addition to contributing to the repository [**Source Code**](https://github.com/TejasMedade/Blog-Application) **:** [**https://github.com/TejasMedade/Blog-Application**](https://github.com/TejasMedade/Blog-Application), you can also connect with me for further development and collaboration on this API. Together, we can continue to improve and evolve the API to meet the needs of the community.\n\nWe encourage you to give the repository a star and we thank you for your interest in this project.\n\nYour support is greatly appreciated.\n\n## Contact Me\n\n- [**Website**](https://tejasmedade.github.io/): [https://tejasmedade.github.io/](https://tejasmedade.github.io/Linkedin)\n- [**Linkedin**](https://tejasmedade.github.io/Linkedin) : [https://www.linkedin.com/TejasMedade](https://www.linkedin.com/TejasMedadeGithub)\n- [**Github**](https://github.com/tejasmedade): [https://github.com/tejasmedade](https://github.com/tejasmedade)\n- [**Source Code**](https://github.com/TejasMedade/Blog-Application) **:** [**https://github.com/TejasMedade/Blog-Application**](https://github.com/TejasMedade/Blog-Application)\n    \n\n## Authors\n\n- [Shreyas Vilas Medade](https://github.com/medadeshreyas)\n- [Tejas Vilas Medade](https://github.com/tejasmedade)","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"24342917","team":4545335,"collectionId":"15e77dee-c192-4447-9a9a-5da1b1e2b6da","publishedId":"2s8ZDbVL15","public":true,"publicUrl":"https://documenter-api.postman.tech/view/24342917/2s8ZDbVL15","privateUrl":"https://go.postman.co/documentation/24342917-15e77dee-c192-4447-9a9a-5da1b1e2b6da","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.1","publishDate":"2023-01-23T20:29:10.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/6776baa306f40049a95dd3ca256aa1e38379e33d399be988aac6d4a95bf07af2","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/2s8ZDbVL15"}