Skip to content

Latest commit

 

History

History
83 lines (63 loc) · 2.82 KB

README.md

File metadata and controls

83 lines (63 loc) · 2.82 KB

How To Use

To clone and run this application, you'll need git, docker and docker-compose. Follow this steps to make this work:

  1. Clone this repository.
    $ git clone https://github.com/0x113/x-media
    $ cd x-media
    
  2. Run it via docker.
    docker-compose up
    

Services

TV shows service

  • Runs at port 8001

User service

  • Runs at port 8002

Authentication service

  • Runs at port 8003

Movie service

  • Runs at port 8004

Config

Config files are avaiable at <service-name>/config/config.json

List of required config changes

TV shows service

  • tv_show_directories - currently only one directory is supported, must be same like in the docker-compose.yml. Have idea how to fix it, but don't have time 😄

Authentication service

access_secret - secret key to generate authentication token refresh_secret - secret key to generate refresh token

Movie service

  • tmdb_api_key - API key for the TMDb
  • movie_directories - currently only one directory is supported, must be same like in the docker-compose.yml. Have idea how to fix it, but don't have time 😄

API docs

Generated using swagger.
You can read the docs for each service at the localhost:<service-port>/docs.
Example: localhost:8001/docs will give you docs for the tv show service.

Reverse proxy

Using treafik.
Visit localhost:8080 for the dashboard.


Calling services

You can call each service separatly with curl --header "Host: <hostname>" localhost/<api-endpoint> Example: curl --header "Host: tvshowsvc" localhost/api/v1/tvshows/get/all

Hosts

  • User service -> usersvc
  • Authentication service -> authsvc
  • Movie service -> moviesvc
  • TV shows service -> tvshowsvc

Frontend

Work in progress :).
Currenly working on some themes like 8bit or some modern one, so it is in a design phase. If you'd like to create frontend for this project, feel free to contribute.

Third party APIs

TMDb - getting data about movies

tmdb-logo


TVmaze - getting data about tv shows

tmdb-logo