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!
- 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
- Java 24
- Docker (optional, for containerization)
- Gradle
- Clone the repository:
git clone <repository-url> cd spring-blog-api
- Build the project:
./gradlew build
- Run Docker:
docker-compose up
- Use the API service on:
http://localhost:8082/api/v1/
Edit src/main/resources/application.yml
to configure database and other settings.
Interactive API documentation is available via Swagger UI.
Most requests require an Authorization: Bearer <JWT>
header.
http://localhost:8082/api/v1/swagger-ui/index.html#/
- 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 token404 Not Found
β blog does not exist
See CONTRIBUTING.md for guidelines.
This project is licensed under the MIT License.
This project is in active development and not yet complete. Features and documentation may change.