Solo project due in friday of week 8.
To create an OOP-based full-stack application with utilisation of supporting tools, methodologies and technologies that encapsulate all core modules covered during training. The application must manipulate two tables with full CRUD functionality.
This project will involve concepts from all core training modules; more specifically, this will involve:
· Agile
· Databases
· Java SE/EE
· Front-End Development
· Automated Testing
· Continuous Integration
I decided to create a webapp that can be used to store boxers and their details, as well as events that they take part in. The app will be hosted online and be accessible from anywhere, on any device and takes inspiration from the website Boxrec.com.
Frontend repository Backend repository Selenium testing repository
- GCP - Live Environment
- H2 - Database
- Springboot - API
- HTML/CSS/JavaScript - Front End
- Apache2 - Web Deployment
- Jenkins - CI Server
- Maven - Dependency Management
- Git - VCS
- Trello - Project Tracking
For the backend API JUnit tests were carried out making sure as much of the code was covered as possible, as for the front end selenium tests were carried out checking the functionality of each button and input. Throughout the project codacy was used to make sure the quality of code is up to standard.
To test the Spring backend of the application, Junit tests were used to test each part separately. The Mockito library was used in conjunction with this. Mockito is used to mock interfaces so that a dummy functionality can be added to a mock interface that can be used in unit testing. The website Codacy.com was used throughout to make sure the code written was of a high standard.
Short term: Get Docker working. Add searches / sorts / filters. Make design look less ‘Bootstrapy’ / generic. Long term: Make tables relational. Add more tables, e.g. divisions, multiple fights on the same event