Founded a startup company which develops a Software as a Service system for smaller used car dealerships.
Involved in all aspects of the software development process.
Architectual decision to convert the existing monolithic PHP application to a
Java (Spring Boot) stateless REST API.
This decision was made to enhance security as well as provide a more scalable product.
Service Oriented Architecture is used to separate the main
dealer application from the “Vehicle Catalog”, which is responsible
for storing general vehicle data for every VIN lookup. The services
communicate via REST.
Domain Driven Design is used in the development process to
improve flexibility and code readability. Many SOLID principles are
used to allow for loose coupling between packages. This allows the
application to be broken into separate services, if needed.
Best practices used when designing the REST API, such as plural nouns
and API versioning. Each endpoint returns an appropriate status
code.
Spring HATEOAS used to create discoverable API endpoints.