Moovify is a web forum that seeks to encourage the discussion of our favorite movies. Final implementation with Spring Framework, Jersey, Hibernate and AngularJS.
Live test: http://pawserver.it.itba.edu.ar/paw-2020b-3/
- Creation of posts about movies
- Creation of comments on posts
- Search engine for posts, movies and users with multiple filters
- Follow users and bookmark posts
- User creation and editing with email validation
- Post and comment editing
- Support for administrator accounts: deleting and restoring entities
Moovify is implemented primarily using the Spring Java framework and PostgresSQL for the database, following the MVC design pattern. Each layer is strongly separated into Controllers, Services, Models, Interfaces and, eventually, Frontend modules.
The project had three distinct phases, where the technologies used were changing.
-
Phase 1: Server-Side rendering using Spring MVC, JSP for HTML templates and JDBC for database management.
-
Phase 2: JDBC was replaced by Hibernate.
-
Phase 3: The server-side model was replaced by the API model. For this Spring MVC was replaced by Jersey, and the frontend is now implemented with Angularjs as a separate module. This is the final version of the project.
To build the project with Maven simply run the mvn clean package
command. This includes running the tests for each module. Note that for the frontend module to build correctly, you need to have ruby, compass and libpng installed.
- User with mail not validated: notValidatedUser
- User with validated mail: validatedUser1
- Administrator user: adminUser
In all cases the password is: Paw123456789