Lost My Pet is (yes, another pet application!) my graded unit project that allows a user to report missing or found pet in the area where they live, create accounts, sending notifications and messages to other members, register new account (email verification token sending), generate Excel/PDF reports and many more.
The project uses Java 8 with Spring Rest for the back-end and Spring Web (MVC), Security, Thymeleaf for front-end. During the analysis phase, I used OOA/OOD methodology and created full documentation of the web client and backend service.
Project demo is available from here] (temporary not available)
Example user accounts: [email protected], [email protected], [email protected], [email protected], [email protected]
Example administrator accounts: [email protected], [email protected]
Password (all accounts): 123qwe
Partial documentation is available in the DOCUMENTATION folder. You can find there:
- Interview questions and response
- Functional and non-functional requirements
- User stories
- UML Diagrams: Activity, Class, Use Case, Sequence/Communication and State Machine Diagram
- Event-Handling Forms
- Identifier Lists
- Screen Layout Charts
- Test Cases
- Validation Control Forms
- My Kanban board
- User Manual
The documentation was created in accordance with the requirements of the Scottish Qualifications Authority (SQA).
API documentation with playground is available at the following link:
RESTful API Documentation (temporary not available).
- Java SE Development Kit 8
- Maven 3.0+
- H2 Database Engine (can work with any other relational database)
- SMTP mail server for sending confirmation tokens (e.g mailtrap)
Import the Maven project straight to your Java IDE:
- Intellij IDEA
- Spring Tool Suite (STS)
- Eclipse
Please provide your SMTP server details in the 'application.properties' file!
(OPTIONAL) To work with other RDBMS you need to configure the project 'application.properties' file match to your database URL, username, password and add a required Maven dependency.
The whole project was written using Java 1.8 and Spring Boot Framework 2.0.0 version. The backend (RESTful API) was created using:
- Spring Data JPA
- Spring Email
- Hibernate ORM
- H2 Java SQL RDBMS
- Google Guava (helper library for java.lang.String API)
- JSONDoc (document and expose REST API)
- Testing tools:
- JUnit 4
- Mockito
- Hamcrest
And the web client with:
- Spring MVC
- Spring Security
- Thymeleaf
- Bootstrap 4
- Apache HttpComponents (creating and maintaining HTTP protocols)
- Apache Common Langs (helper utilities for the java.lang API)
- Apache POI (API for Microsoft Documents to generate Excel reports)
- iText PDF (PDF generation and manipulation tool)
- Ocp PrettyTime (java.util.Date API helper library)