BeccaStaple / hwa-backend

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hobby Project


This is a project that was set to me by QA Consulting to access my understanding for the technologies they have been teaching me

With this application you can create your own stamp and a collection of stamps, the stamps can be read back to you and you can update and delete your stamp collection

Bringing stamp collecting into the 21st Century!

Introduction


The following instructions will allow you to have the application up and running for yourself in no time

Prerequisites

  • Spring Tool Suite
  • Maven
  • Visual Studio Code (for the frontend)
  • ChromeDriver (for testing the frontend with Selenium)
  • MySQL (Optional - I have opted for the H2 Database - more info below)

Installing

How to install Spring Tool Suite

  1. Go to this address: https://spring.io/tools
  2. Download for your relevant operating system (i.e Windows)
  3. Go to your downloads folder and double click on the downloaded file
  4. You will then be guided through the set-up process
  5. To run the project you just need to go to Boot (a green hexagon) and press the run button

How to set up Maven

  1. Go to this website: https://maven.apache.org/install.html
  2. This has very good instructions on how to set up your system fully and mentions setting up your path - instructions for that are below

How to set up your path

  1. On your computer you will need to go to your Edit Environment Variables
  2. Click on "Environment Variables..."
  3. Go to system variables and click "new"
  4. Your variable name can be M2_HOME (for Maven)
  5. Your variable value is along the lines of C:\Program Files\apache-maven-3.6.3
  6. Press "OKAY"
  7. Your path is now saved

Dependencies

Check out my pom.xml for the dependencies that I used

Testing the server

Once started try navigating to: http://localhost:8082/swagger-ui.html

This will tell you if the server is up a running, you should be able to view the Swagger Resource Listing

Testing

Integration Testing

Integration tests are set up for this project and the relevant dependencies for JUnit are in the pom.xml

These tests are set up to check that the CRUD functionality works

Unit Testing

Using Mockito to unit test the individual methods

Selenium Testing

Selenium tests are set up to test the frontend - make sure you have downloaded the correct remote webdriver. I have Google Chrome version 83 so I used ChromeDriver version 83.

Front-end

Head over to here to view the front-end code: https://github.com/BeccaStaple/hwa-frontend

Built With

Maven

Authors

Becca Staple

Acknowledgements

Jordan Harrison

Piers Barber

License

This project is licensed under the MIT license - see the LICENSE.md file for details

About

License:MIT License


Languages

Language:Java 100.0%