This is a JavaFX application designed to manage TV series and movies. The application follows a 4-tiered architecture (MVC with an additional layer for services) and is built using Java 8 and Oracle as the database management system. It features a custom-made video player, countless pages, and accounts for actors, admins, producers and regular Users.
The application allows for the management of TV series, each characterized by a name, director, release year, language, country of origin, and an image. Series are composed of multiple episodes grouped into seasons. Each episode has a summary which can be a text or a short video (synopsis). A synopsis is made for each series and each season of the series.
Users can rate or comment on each series, season, or episode. Each new episode release triggers a notification to users who have positively rated the series. Users have a name, an email address, a date of birth, and preferences.
The application caters to four types of users:
- Administrators
- Producers (Directors)
- Actors
- Users
Each role has specific permissions and capabilities within the application.
The UML diagram provides a visual representation of the system's architecture, showing the different roles and their interactions within the application. It was a crucial part of the design process, ensuring that all components and relationships were accurately represented.
The project was developed by a team of 3 students and meets the following constraints:
- UML for design
- Oracle as the database management system
- Java 8 as the programming language (Use of API Stream is mandatory)
- Layered architecture (GUI, Controller, Service, DAO)
- Java FX for the graphical interface
I am proud of what I've accomplished along with my team. Despite the challenges, we were able to meet all the constraints and create a functional and efficient application. This project not only allowed me to apply what I've learned in class but also challenged me to learn new skills and concepts. I would like to express my deepest appreciation to my team members who have worked along with me tirelessly on this project. Their dedication, enthusiasm, and insight were incredibly helpful and played a vital role in the success of this project. The environment we created together was one of collaboration, respect, and mutual learning. I am grateful for your cooperation and look forward to our future endeavors. Thank you Jesser and Fares!