The goal of the project is to implement a web app that deals with gamified consumer data collection.
- User View: a user can access the homepage where the product of the day is published, and he can complete the related questionnaire. The application computes the gamification points of each user that can be checked in the leaderboard.
- Admin View: an admin can access a reserved homepage where he is able to create a new questionnaire for the day of for a future date, inspect or delete a past questionnaire.
The application has been realized in a JEE (Java Enterprise Edition) environment, particularly exploiting JPA, EJBs and Servlets.
- TomEE JEE application server
- JPA for object relational mapping and transaction management
- EJB (stateless) for the business objects
- Java servlet for the client components
- MySQL DBMS
- Triggers and constraints for database-level business constraints and rules.
- HTML5, CSS, JavaScript
Here you can find the complete specifications of the project.
Below you can have a look at the ER Diagram of the project, all design choices are described in detail here.