/transferregistration-service

Service To Transfer Registration

Primary LanguageJava

A) Steps to run the project in default profile

B) Steps to run the project in QA profile

Important Points:

  • CustomExceptionHandler has been implemented which will customise the messages sent back in a particular format
  • Basic Auth has been implemented
  • Profile based logging has been implemented
  • Names of the tests in Postman are such that they will give an idea as to what use case is in question

Assumptions used while developing the services:

  • Since the requirements specified that a DB is not required, I have used in memory java collections
  • A Person is uniquely identified by his emailAddress
  • A Vehicle is uniquely identified by its Registration Number
  • Once a Vehicle has been linked to a Person, it first has to be unlinked before getting linked to another one
  • A person does not need a licence to be linked to a Vehicle
  • Creation of Person,Vehicle,Link and Unlink are seperate processes happening at different times
  • While unlinking, the requesting persons email Id should match the email Id registered against the Vehicle during the Linking process

Testing Done:

  • Units tests
  • Manaual testing using Postman fo this test.In production grade applications we can use frameworks like Karate to write feature wise test cases and run them via Jenkins pipeline

Benefites Of Open API

  • Design-First Approach can be easily followed
  • Code Generators generate the stubs and developers do not need to create the models
  • It has a Huge Userbase
  • Stable Implementation