This is a university project that is intended to provide a RESTful service and a web interface to obtain info about all type of media (Book,Film,Music and VideoGames).
This application is written in Java and can be executed on Linux/Windows/Mac OS environment. It requires the Java Runtime Environment to be executed correctly, JRE 8 is preffered over JRE 9 because of some incompatibilities with Groovy.
MIS comes with a "logger feature" that requires RabbitMQ and Erlang to be installed, if these requisites are not met this feature will be disabled.
- Download/clone this repo and make sure you have Maven and a Java Development Kit installed.
- Open a terminal and reach the directory in which the repo is stored.
- Write in the terminal
mvn package
and wait until the compilation process is finished. At the end you will find a "target" folder in the directory, inside you can find a WAR file called Media_Information_Service-0.x-x.jar that contains everything that is needed to execute MIS. - Before you execute the JAR you need to place a "MIS_config.cfg" files in the same directory of the executable. This file must contain the api keys that are needed by MIS to calls 3rd party services to get media data (Here is an example).
- Now MIS is ready to be deployed. To execute just type
java -jar ./Media_Information_Service-1.x.x.jar
There are two ways to use MIS. The easiest one is to use the rather simplistic website that you can access on localhost:8080 by default. The website will enable you to search for all type of media or alternatively you will be able to scan you "media" folder in Google Drive or Dropbox.
If you don't want to use the website you can still make rest calls on the endpoints that are going to be explained below.
- Not that I know
Endpoints are described here.
- Google Books
- The Movie Database
- Discogs
- iTunes
- The Internet Games Database
- Dropbox
- Google Drive
- Github
- Spring Framework - Web Framework
- Thymeleaf - Java XML/XHTML/HTML5 template engine
- MongoDB - Open-source cross-platform document-oriented database program
- RabbitMQ - Message broker
- Unirest - HTTP Request Client
- Jersey - RESTful Web Services framework
- Google GSON - Serialization/deserialization library to convert Java Objects into JSON and back
- Android JSON - Json parser
- Dropbox Java Core SDK - Client for Dropbox API V2
- Maven - Dependency Management
- Logback - Logging framework for Java
- Semver4j - Semantic versioning for Java apps
- SockJS - JavaScript library for WebSocket-like object
- STOMP.js - Stomp client for Web browsers and Node.js