The application is a web application, which uses Maven, JPA and Spring (Boot, Security, Data). It comes with an embedded H2 database. This application covers following tasks:
- Implemented a Restful Controller to manage users and items (there is a many-to-many relationship between user and item)
- Securing the app using Spring Security including storing user credentials and access
- Restricting user access to items using ACL mechanism in Spring Security
- Caching loged in users using EhCahce
- Logging user activities with AspectJ
- Supporting token-based authentication