Skip to content

Pio-Trek/Lost-My-Pet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐶 LOST MY PET

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.

DEMO

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

DEVELOPMENT DOCUMENTATION

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

API documentation with playground is available at the following link: RESTful API Documentation (temporary not available).

PRE-REQUISITES

  • 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)

GETTING STARTED

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.

TECHNOLOGY STACK

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)

SAMPLE SCREENS

Browse missing pet announcements

Sample screen

Announcement details

Sample screen

Generate Excel/PDF report

Sample screen

Report found pet

Sample screen

User account dashboard

Sample screen

Releases

No releases published

Packages

No packages published