CoPoleci? is a desktop application and it is all about movies. It has its own database containing information about films, actors, directors and film companies. The application allows you to browse and search among its resources. It provides the possibility to display rankings and it has a registration and logging mechanism. Logged in users have the possibility to mark already watched movies and add a short commentary. Program also has a built-in movie recommendation system based on artificial intelligence mechanisms. The user at the entrance indicates how much he or she cares about the specific parameters of the film and the system in response to his or her choices shows him or her a list of several suggestions, excluding films that the user has already seen.
The project is written in C#, WPF technology and it also uses MySQL database.
Before you start, make sure that you have installed MySQL on your computer. Without it the application won't work!
After you clone the project (or download the release), the first thing you need to do is to edit a file called root_config.txt (which is in bin/Debug by default). This file - as it name says - is a configuration of local server administrator. It contains five lines - in sequence: nickname, password, server address, database name and port. By default there is a root's account with no password and localhost server on port 3306. Database is of course "copoleci" - you shouldn't change this line. Then you need to turn on the MySQL server and import CoPoleci database - to make it faster, you can launch DatabaseImporter.bat file and enter your root's password twice.
If there was no problem, after these steps you should have the database on your computer and the application should be launched now.
At the beginning you'll see login screen. Here you have to enter your nickname and password. If you haven't make an account in this application yet, you'll have to create one. To do it, click the button in the upper right corner.
This screen allows you to register. Simply enter your new login and password. They will be stored in copoleci database in specific table. What is important, the password is not saved as raw string, it is converted to MD5 value, so it is rather safe solution. The user is also created in the server, not only as a record of the table. To finish registration process click the button in the lower right corner.
After you successfully register, you can login to the application. On the home page you'll see random fun fact.
There are also 7 tabs in which you can for example find lists of movies, actors, directors and companies. Data is taken from copoleci database, but the graphics can be found in repository in Graphics directory. First tab contains movies that have already been watched by current user.
Every item placed in one of mentioned lists has its own view with details. You can check in which movies a specific actor played, which actors played in a specific movie, who directed a specific movie, which movies were made by a specific company and much more.
The sixth tab contains rankings - you can search for TOP 3, TOP 5 or TOP 10 of the newest, the oldest, the funniest or the scariest movies.
Last tab contains movie recommendation system - you have to answer for 10 questions and the system will show you 5 movies from the copoleci database that will be probably the best for you. After that you can of course click one these movies to check its details.
The main goal of this project was to learn how to use databases (MySQL) in projects with graphical user interface (WPF) and it has been reached, but there are still some featues that can be added, for example:
- improve the performance by adding asynchronous functions (each image loads synchronously, resulting in very long rendering of the tabs),
- place whole data (database + images) in the cloud, so it can be easily extended.