Use case diagram
Login
The system requires the Facebook authentication of the user in order to function. For this reason when the user accesses the page is redirected to Facebook web page to provide his/her credentials and then, is redirected back to the main page of the application. The authentication “dance” between the client and Facebook is shown in the following image.
Check In
In the check in use case the user selects the place he wants to check in, the movie he watched and the friends he watched the movie with. The system finds the trailer of the movie selected and posts the check in information both to Facebook and Twitter.
Comment and rate
The user selects the rate button and chooses the movie he wants to comment and rate. The system collect the information provided by the user and stores it into the database then the system updates the users Facebook and Twitter status.
Suggest a movie
The user presses the suggest button. The system gets from the database the movies watched by the user and provides them for selection to the user. The user then selects the movie he/she wants to suggest and then selects the one of his social friends he want to suggest the movie to. The system finds the social network that the firend(s) belong to and sends a post accordingly.
Get suggestions
The user presses the get recommendation button. The system uses the recommendation algorithm and returns 5 movies with the highest score.
Class diagram
Our system consists of 3 main packages. The FacebookLib handles the communication with Facebook, the TwitterLib handles the communication with Twitter and the MoviesLib package where the main functionality is provided. The Movies package consist of 2 main classes the MySQLAccess class for handling the communication with the database and the MovieIT class that acts as a controller handling the communication between the different software components.