Project goal is to create and manage your own movie library with watched movies.
User can add and delete movies from database, show them in order from the oldest or choose to show them sorted by title, released year or IMDB rating. Moreover, database can be exported as a json file, which also can be imported into another database.
App connects to local MySQL database via Hibernate and fetches added movie data from OMDb API. Classes use Lombok for automatic generation of getters, setters and constructors, which help in keeping the code clean. Gson is used for effortless mapping objects to json. Project is managed by Maven library.
Project was made as a self-learning exercise. It helped me become familiar with Maven, Hibernate and some design patterns.
- add database to the project instead of JSON file
- change all functionalities from using JSON file to operating on database
- change usage of JSON file to additional functionality eg. importing other database or exporting it to another program
- change "choosing number" system to proper command system
- separate persistence from model
- clean code