mendia 1.3.0

Dashboard collecting every movie in your friend group that tells notifies everyone on telegram whenever a new one came in.
mendia-1.3.0 is not a library.
Visit the last successful build: mendia-1.7.1

mendia

About

Mendia is a server application that keeps track of the movie collection of its users. Users can notify mendia about new movies in their collection and mendia can inform about new movies and their owner in a seperate telegram group.

Note: For now mendia is constrained to telegram, this can change in the future.

The interface is websocket based and accepts json-formatted messages.

Users can:

  • Log in
  • Get a list of all movies
  • Post a list of new movies

The npm package mendia aims to implement this interface and provides a web based user interface for it.

Usage

Note: Data is stored in a mysql compatible database which must be provided externally.

Command Line Interface

Along the main binary mendia this crate also comes with the mendia-admin tool.

Configuration

The database can be configured with a *.yml file:

host: 127.0.0.1
port: 3306
database: mendia
credentials:
  user: user
  password: example

Create a user or update an existing one

mendia-admin --config config.yml --create-user martin

This will prompt for a password and stores it safely in the user table.

Note: The password is hashed and salted with the argon2 algorithm.

Daemon

The main binary mendia is a daemon-application that, once started, waits for new websocket connections and handles multiple users along each other.

Like the CLI tool mendia-admin the daemon must be configured with a *.yml file that contains the database connection and settings for the telegram functionality.

Note: For now every argument in the file must be set, nothing is optional for now.

database:
  host: 127.0.0.1
  port: 3306
  database: mendia
  credentials:
    user: user
    password: example
websocket:
  host: '0.0.0.0'
  port: 8081
telegram:
  token: 'YOURBOTTOKEN'
  chatid: 'TARGETCHATID'

Start the daemon

mendia --config config.yml

API

TODO this section must yet be written