Skip to content

ignacioVidaurreta/AluProp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

AluProp

Summary

Aluprop is a simple page that joins students wishing to achieve their goals of living close to their university with people willing to rent out properties to them.

The application has two different types of user, host and guest. Once a host publishes a property a user is allowed to show interest in it which in turn allows the user to create a proposal to rent the property. The guest can create a proposal on his own or inviting other guests to join in. If any of them decline, the proposal is cancelled. If they all accept the host then receives the proposal and can choose to accept or decline it. If the host accepts then contact information is shared between the proposal's invited users and the host in order to allow them to settle the final details in regards to the renting out of the property.

Code

The page uses spring web-mvc with hibernate as its ORM and spring security to handle user permissions. The front is made using jsp pages and the bootstrap library. The architecture is 3-tiered with controller, service and data access objects layers.

Building the project

Prerequisites:

  • Maven

  • Tomcat 7.0

After cloning the repo:

  • Make the changes to application.properties file specified in the application.properties section of this document

  • Move into the /aluprop-webapp directory and run mvn clean package

  • A webapp.war file will be generated in /aluprop-webapp/webapp/target/aluprop.war, you should move that file into your webapps Tomcat folder.

  • Run Tomcat and open the URL corresponding to the new .war file.

  • Welcome to AluProp :)

application.properties

Some configuration constants which may vary from user to user are kept in an application properties file that is listed in our .gitignore file. The file should define these constants:

db.username = database_username

db.password = database_password

db.name = _name_of_your_database

jwt.secret = string_for_jwt_secret

this last one can be any value you choose. However, in production it should be set to a sufficiently long randomly generated string to ensure safety. The file itself should be put in the persistence module under src/main/resources.

Credentials for testing

These three users should be sufficient to test out all of the functionalities of the application.

Host accounts

User accounts