{"repo":"aidanwhiteley/books","free":true,"listed":false,"github":"https://github.com/aidanwhiteley/books","clone":"git clone https://github.com/aidanwhiteley/books.git","description":"A demo project for Spring Boot / Data / security, social / oauth2 logons, JWT, Mongo, SpringBootAdmin, Docker, docker-compose, Github Actions and stateless apps. Now with an HTMX front end.","language":"Java","stars":108,"topics":["mongo","spring-boot","microservice","oauth","books","jwt","bookclub","spring-security","swagger","docker"],"license":null,"category":"auth-billing-email","readme_excerpt":"books This project started as I wanted a simple \"microservice\" to use when trying out frameworks such as Docker, Docker Compose and Kubernetes. It then continued as my favourite project for sampling various web related technologies. It has developed a little further such that it is starting to provide some functionality that may actually be useful. So welcome to the \"Cloudy Bookclub\"! [!NOTE] Now uplifted to the latest Spring Boot 4.x and Java 21 and with a default, HTMX based front end provided. Implementation The main functionality included in the microservice includes being based on latest Spring Boot 4.x and Java 21 Oauth2 based logon using Google Facebook the oauth2 logon data is transmogrified into locally stored users - with associated roles - and into a JWT token - making the web application entirely free of http session state (see later for whether using JWTs as session tokens is a good idea) Spring Security for role based method level authorisation Mongo based persistence with the use of Spring Data MongoRepository next to no persistence code except for some Mongo aggregation queries added to the Repository implementation accessing the Google Books API with the Spring RestTemplate and Docker images and a Docker Compose file that runs all the tiers of the application with one docker compose up -d command new in 2025 - there is now a \"built in\" front end implementation using HTMX. There's a blog post available about migrating a React front end to Java/Spring Boot/Thym","default_branch":null,"files":null,"tree":[],"storefront":"/r/aidanwhiteley","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/aidanwhiteley/books/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."}