12 stable releases
1.6.3 | Sep 24, 2023 |
---|---|
1.6.2 | Sep 22, 2023 |
1.6.1 | Jul 12, 2023 |
1.6.0 | Jun 4, 2023 |
1.5.0 | Dec 30, 2022 |
#112 in WebSocket
43 downloads per month
27KB
615 lines
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
This package comes with two binaries:
mendia
- the main service running as a daemonmendia-admin
- a cli tool for administrative tasks
Note: Data is stored in a
mysql
compatible database which must be provided externally.
Configuration
Both mendia
and mendia-admin
must be configured with a *.yml
file that contains the database connection and settings for the telegram functionality.
Note:
mendia-admin
only requires the database settings from the config file,mendia
needs everything.
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'
tmdb:
api_key: 'YOURTHEMOVIEDBAPIKEY'
language: 'en'
Command Line Interface
mendia-admin
is a cli-tool for administrative tasks.
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.
Start the daemon
mendia --config config.yml
API
TODO this section must yet be written
Dependencies
~26–41MB
~701K SLoC