An API for simple article management system where users can write articles of interest to them. registered users can write, edit, and delete content.
- Spring Boot 2.7.0 - Inversion of Control Framework
- Lombok
- H2 - In-Memory Database for development
- Liquibase - Rapidly manage database schema changes.
- Spring Security
- JJWT - JWT tokens for API authentication
- Java Mail Sender
- Spring Data JPA
- Validation
- Registration new users
- activation email
- API Login Controller
- Authentication and Authorization with JWT
- Security Configuration Without WebSecurityConfigurerAdapter
- Rest end points for the entities
- Email Service with HTML and attachment support
- Unit and Integration Tests
-
The following environment variables can be customized.:
-
The defaults are:
EMAIL_USER_NAME : your gmail EMAIL_PASSWORD : the App password , you can generate the app password from your account managment JWT_SECRET=salt SPRING_PROFILES_ACTIVE=dev
-
- to login use:
- http://localhost:8080/api/authenticate
- with request body:
{ "username":"admin", "password":"admin" }
- with request body:
- http://localhost:8080/api/authenticate
- other end points:
- The
get
endpoints are not secured and are open to all users.