Skip to content

Spring application which provides ski and snowboard renting for users.

License

Notifications You must be signed in to change notification settings

jacekkulis/snow-rental-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Spring application which provides ski and snowboard renting for users.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published