/Homie

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

Homie

A web plaftorm for managing land properties and transactions (e.g rentals) between users.

Scope

Project was created as a capstone for a private coding school attended by the authors. Project serves mainly educational and exhibition scope.

Motivation - Objectives

Project team set a number of functionalities and specifications for the project in order to present a modern user friendly web platform

Functionalities

  • Dynamic Web pages
  • Multiple-level user roles with different administration rights [admin, mod, user]
  • Multiple user roles with different usage rights and content access [owner, tenant, both, guest]
  • Localized in english and greek (native language of authors)
  • Messages chat between users
  • On line payment
  • Register and login with third party application (eg social media)
  • Providing feedback to user through email
  • Inspection tools (health of application, workload etc)

Specifications

  • Implement design patterns
  • Maintenable and clean code
  • Object oriented back end implementation
  • Complete and clear documentation (through comments, java docs etc)
  • Optimize services
  • Strong validation in each layer (front, back, database) and through different scenarios of manipulation
  • Serve large data object (eg images) through cloud file server

Technologies

  • Java SE 8
  • Java EE 8
    • JPA
    • Web Sockets
    • JavaMail
  • Spring MVC/ Spring Boot (Tomcat Server)
    • Actuator Development tool
  • Spring Security
  • Oauth API (Facebook, GitHub, Google)
  • JPA/Hibernate/Spring Data
    • JPA configuration
    • JPA Auditing
    • Naming Strategy
  • SQL/mySQL
  • Thymeleaf
  • Html 5/ CSS 3
  • JQuery
  • History API
  • Built with Maven tool

License

Under GNU License