{"repo":"huseynovvusal/spring-blog-api","free":true,"listed":false,"github":"https://github.com/huseynovvusal/spring-blog-api","clone":"git clone https://github.com/huseynovvusal/spring-blog-api.git","description":"🤓 A RESTful blog API built with Java Spring Boot including features like JWTs, Spring Security, and more. 🌱 Perfect for learning, and we especially appreciate contributions from beginners!","language":"Java","stars":46,"topics":["java","jdbc","jpa","spring-boot","spring-security","postgresql","gradle","servlet","jjwt","open-source"],"license":"MIT","category":"databases-storage","readme_excerpt":"🚀 Spring Blog API Welcome to Spring Blog API ! This is a modern, secure, and scalable RESTful backend service for managing blog posts and user authentication, built with Spring Boot. The project is currently under active development and new features are coming soon. 🌱 Newcomers Welcome! We encourage developers of all experience levels to contribute. Whether you're new to open source or a seasoned pro, your ideas and code are valued here. Check out our CONTRIBUTING.md for easy ways to get started! 🛠️ Technologies Used - Java 24 - Spring Boot 3.5 - Spring Security - Spring Data JPA - Hibernate ORM - PostgreSQL - JWT (JSON Web Token) - Lombok - Spring Mail - Gradle - Docker & Docker Compose - JUnit 5 - PgAdmin - Resilience4j (Rate Limiting & Circuit Breaker) ⚡ Getting Started Prerequisites - Java 24 - Docker (optional, for containerization) - Gradle 🚦 Setup 1. Clone the repository: 2. Build the project: 3. Run Docker: 4. Use the API service on: ⚙️ Configuration Edit src/main/resources/application.yml to configure database and other settings. 📖 API Documentation Interactive API documentation is available via Swagger UI. Most requests require an Authorization: Bearer header. http://localhost:8082/api/v1/swagger-ui/index.html#/ Notes - Duplicate prevention is enforced by a unique database constraint (user id, blog id) and idempotent service logic. - The current user is resolved from the JWT claim uid . - Error codes: - 401 Unauthorized — missing/expired token - 404 Not Found —","default_branch":null,"files":null,"tree":[],"storefront":"/r/huseynovvusal","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/huseynovvusal/spring-blog-api/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}