aravind816/librarydemo

★ 0Forks 0JavaGitHub ↗Compare

README

librarydemo!!!

Created a demo app for CBA.

It exposes the below rest API's

Screen Shot 2022-03-17 at 8 55 13 pm

Swagger URL:

http://localhost:8080/swagger-ui/index.html

App Feature Description

  • JDK 17
  • Maven Build
  • Spring boot web – (For exposing REST API’s)
  • Spring boot JPA – (For CRUD operations)
  • Spring boot Test – (For creating unit test cases)
  • Spring boot Actuator – (For monitoring the application health)
  • Spring boot Security – (for securing REST API’s)
  • Spring boot Validation – ( For native & Custom bean validation)
  • Spring Kafka – (For producing & Consuming messages for Kafka)
  • Spring Doc – (for Open API document specification)
  • Java MySQL Connector – (for accessing MySQL database)
  • LAMBOG – (For avoid boiler plate code)
  • GitHub – (For version control )
  • VS Code – (IDE for web development)
  • Kafka – For message queues
  • MySQL – For database

Java Calss Description

  • config/ErrorHandlingControllerAdvice .java - Custom global error handling for Rest API's
  • config/ISBNValidation. java - Custom Bean Annotation for ISBN number
  • config/ISBNValidator.java - Custom validation for ISBN number
  • config/KafkaConsumerConfig.java - Auto configuration for Kafka consumer
  • config/KafkaProducerConfig. java - Auto configuration for Kafka Producer
  • config/KafkaTopicConfig. java - Kafka Server and Topic configuration
  • controller/BookController.java - Exposes rest API's for the library
  • model/Book. java - Entity/Bean class for Book
  • model/ValidationErrorResponse. java - Model wrapper for custom error handling
  • model/Violation. java - Model for custom error handling
  • presistence/BookRepository.java - Native ORM for CRUD operations
  • presistence/CustomBookRepo.java - Interface for Custom ORM
  • presistence/CustomRepoImpl.java - Implementation for Custom ORM
  • service/BookService. java. - Controller for exposing API’s
  • LibrarydemoApplication.java. - Spring boot App initialiser
  • /resources/application.properties- Application configuration file
  • /resources/data.sql - SQL queries for inserting Mock Data
  • /test/LibraryDemoApplicationTest.java - Unit test cases for REST API’s contoller methods
  • /pom.xml - Maven Build file

Contributors

aravind816

Issues