Skip to content

Latest commit

 

History

History
110 lines (79 loc) · 3.97 KB

README.md

File metadata and controls

110 lines (79 loc) · 3.97 KB

SnowRental

Project implements ski and snowboard rental service in Spring MVC. See demos here

Registration process

  1. User completes registration form.
  2. Fields are validated, if error occurs user is informed.
  3. Email is sent with confirmation link.
  4. When confirmation link is clicked, user account is activated.

Login process

  1. User completes login form.
  2. Fields are validated, if error occurs user is informed.
  3. Custom UserDetailsService interface is used for automatic authentication (from Spring Security).
  4. If authentication is successful user is redirected to proper page, if not user is informed that passed invalid credentials or account is not activated.

Information

  • Spring Security
  • Password encoding (BCryptPasswordEncoder)
  • Using Java configuration (annotations)
  • Using JPA repository
  • Confirm registration (email verification) - unique, randomly generated token
  • Google reCAPTCHA which protects website from spam and bots
  • I18N

End with an example of getting some data out of the system or using it for a little demo

Deployment

Deploy on Apache Tomcat 8.0+

Tools and frameworks

Settings

Database scheme

DBDIAGRAM

Properties

Need to be under 'src\main\resources'

  • application.properties

    google.recaptcha.key.url=https://www.google.com/recaptcha/api/siteverify
    google.recaptcha.key.site=site_key_here
    google.recaptcha.key.secret=secret_key_here
    
  • hibernate.properties

     dataSource.driverClassName=org.postgresql.Driver
     dataSource.url=jdbc:postgresql://localhost:5555/DBNAME?characterEncoding=utf-8
     dataSource.username=DATABASE_USER
     dataSource.password=DATABASE_PASSWORD
    
     hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
     hibernate.default_schema=public
     hibernate.hbm2ddl.auto=update
     hibernate.show_sql=true
    
  • email.properties

    support.email=snowrentalspring@gmail.com
    mail.host=smtp.gmail.com
    mail.port=587
    mail.protocol=smtp
    mail.username=GMAIL_ACCOUNT_USERNAME
    mail.password=GMAIL_ACCOUNT_PASSWORD
    

Useful links

License

This project is licensed under the MIT License - see the LICENSE.md file for details