Skip to content

API built from test driven environment with JUnit for putting together and retrieving Jeep Orders and supporting materials such as images.

Notifications You must be signed in to change notification settings

strauberly/Jeep-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Jeep API


I am continuing to improve my skills in creating RESTFUL API's and so I am taking on this project created by Promineo Tech.

They have been kind enough to provide the instruction and starter files, and I am very excited to combine what I learn here with other projects I have created.

This file will serve as my Dev journal until I begin my documentation.

Thank you for checking out what I am working on!


-06 Aug 2022-

  • Completed section pertaining to retrieving an image from the database.
  • Results verified through unit test, uploading an image via postman and calling the image by id through the browser.
  • Starting to feel like project is nearing completion.

-17 July 2022-

  • flesh out service.
  • read image data to a buffered image got width and height and saved to image object.
  • save image object to database.
  • received image id back along with status code of 201 confirming creation and successful test.

-13 July 2022-

  • Now that image object has been created, have begun work on saving image object to db.

-9 July 2022-

  • Created new test that doenst use tomcat server and configured mock mvc object, create mock multipart file object to hold image, then sent to controller with PK number of jeep.
  • Test was successful indicating file was found.
  • Focus is now on writing and reading image from database.

-18 May 2022-

  • Discovered that in pulling methods to separate classes, errors were being caused due to duplicate methods returning a default null value instead of the intended method returning a built object.
  • Also located a few typos.
  • Application is now functioning in intended manner and development continues.

-14 May 2022-

  • Created model result set extractors.
  • Made a means for adding on calculated price to order object.
  • Assert that objects were missing their dependency and so was finally able to track it down and now the test can run.
  • Test is currently returning 500 internal server error.
  • Will circle back through lessons now that distraction of why .hasSize() was throwing a fit when nothing else was.

-2 May 2022-

  • Created a new integration test
  • Created Order JSON Object
  • Create req and resp objects
  • Test validated with 201 response

-1 May 2022-

  • Created parameterized test checking for length of input, validation for character type and object type.
  • Turned on bean validation.
  • added validation error handlers to the global error handler.
  • Intro to mocking w Mockito.
  • added test for unplanned error. Unplanned errors print stack trace.
  • created inner test classes w @Nested allows for unpolluted bean registry.
  • Completed all four outcomes for a request through controller.
  • First operation completed.


-30 Apr 2022-

  • Created Global Error Handler.
  • Created DOA layer.
  • Implemented a comparator for testing valid input in the trim selection, as well as creating a test that will return error message.

-24 Apr 2022-

  • Discussed spring mapping based on component scan and implemented logger with Lombok @Slf4j as an info logger. Intending to research more for connections to l4J.

  • Implemented debug logger.

  • Altered test to expect a list of jeep objects which it currently fails as expected.

  • Created yaml file for debug configuration

  • Discussed need for arg constructors when implementing spring builder

  • Discussed dependency injection and inversion of control

  • Discussed interface driven development and benefits.

  • Talked about definitions of controller , service and DAO layers

  • How @Autowired is needed for injection and that it requires a bean or managed object instance

  • Discussed DAO a bit more JDBC, connection pools and transaction managers.

  • Added mysql driver and jdbc driver to pom and added to our yaml configuration file.


-18 Apr 2022-

Implemented API documentation with Swagger. Created controllers and mapped them to end point.

-15 Apr 2022-

Set up test environment for http requests, and discussed behavior driven development and test driven development. Discussed testing cycle of black, red, green, concepts. Began testing queries.

-14 Apr 2022-

Began building out the project utilizing the provided instructions and starter files. Looking forward to it!

===

About

API built from test driven environment with JUnit for putting together and retrieving Jeep Orders and supporting materials such as images.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages