/soeluma

Node js application for parsing and returning movie ratings data

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

Sõeluma

Actions Status Actions Status Deploy to Github Package

Estonian for parse, is a node js application for parsing and returning movie ratings data

Table of contents

  1. Requirements
  2. Installation
  3. Available Scripts
  4. Alternative
  5. Deployment
  6. Licence

Requirements

  • Node (v12^)

    To install node, checkout node documentation, personally i prefer the nvm section

  • Mongodb

    Checkout the mongodb docs

  • Redis

    sudo apt update && sudo apt install redis-server

    If you don't run redis on the default port, specify that in the .env file

Installation

  • Clone the Repo

    git clone https://github.com/Iamdavidonuh/soeluma

  • change directory to project root

    cd soeluma

  • Install Dependencies

    yarn install

  • create .env.development file from example.env template file.

    cp example.env .env.development

Available Scripts

In the project directory, you can run:

yarn run server

Runs the app in the development mode using nodemon.

Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.

yarn run test

Runs Tests using Jest

Alternatively

Docker image

The docker image is availabe at github container registry

  • Install Docker and Docker-Compose

  • Run to use out of the box

    docker pull ghcr.io/iamdavidonuh/soeluma:latest

  • get the docker compose file and run

    docker-compose -f docker-compose.yaml -d up

  • Image Environmental Variables

Variable Defaults Description
NODE_ENV production node environment
PORT 3000 express port
REDIS_DOCKER_NAME redis Name of the redis container
REDIS_DOCKER_PORT 6379 port your redis container is listening on
MONGODB_USER admin Mongodb user's username
MONGODB_PASS password Mongodb user's password
MONGODB_DOCKER_NAME mongodb Name of Mongodb container
MONGO_DBNAME Movies Name Database to store collections

Deployment

The deployed API version from soeluma api is available. Please read the API documentation for usage

License

This project is opened under the GNU AGPLv3 which allows very broad use for both academic and commercial purposes