Nibbling Perfect Macaroni

    crumbl-hoster
    TypeScript icon, indicating that this package has built-in type declarations

    1.2.2 • Public • Published

    crumbl-hoster

    Easy hosting server for the Crumbl™ platform

    Github tag (latest by date) npm Github last commit Github issues NPM

    This application is an simple hosting service for the Crumbl™ technology patented by Cyril Dever.

    Usage

    1. Either you have set your own MongoDB environment compatible with crumbl-hoster's requirements:

      npm i crumbl-hoster && npm run compile && npm start
    2. Or you start the Docker container:

      git clone https://github.com/cyrildever/crumbl-hoster.git && cd crumbl-hoster && docker-compose up --build -d

      You might want to use the ./cleanup script (or ./cleanup.bat on Windows) before launching any new Docker session (especially when you've built the NPM project).

    Running the application will write a 'crumbl-hoster.log' file.

    Production

    Change or adapt the following environment variables if need be:

    • HTTP_PORT: the HTTP port number (default: 8000);
    • MONGO_DOMAIN: the MongoDB server name (default: localhost);
    • MONGO_PORT: the MongoDB port number (default: 27017);
    • MONGO_DB: the name of the MongoDB database (default: crumbl);
    • MONGO_USERNAME: the MongoDB username;
    • MONGO_PASSWORD: the MongoDB password for this username;
    • MONGO_COLLECTION: the name of the collection to use (default: hoster).

    API

    // TODO Add headers identifying the requester.

    The following endpoints are available:

    • GET /crumbl

    This endpoint returns the full crumbled string from the passed related hashered prefix of a Crumbl, eg. http://localhost:8000/crumbl?hasheredSrc=1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef&token=12345678-90ab-cdef-1234-567890abcdef1

    It expects 2 mandatory arguments:

    • hasheredSrc: the hashered prefix of the Crumbl;
    • token: a valid token (in the form of a UUID string).

    It returns a 200 status code if found along with a JSON object in the body respecting the following format:

    {
      "crumbled": "<The full found crumbled string>",
      "hasheredSrc": "1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
    }
    • POST /crumbl

    This endpoint records a crumbled string in the local database. It expects the request body to be the full crumbled string, eg.

    $ curl --location --request POST 'localhost:8000/crumbl' --header 'Content-Type: text/plain' --data-raw '<The full crumbled string>'

    It returns a 201 status code if success along with the verification hash string in the body.

    License

    The use of the crumbl-hoster server is subject to fees for commercial purpose and to the respect of the BSD2-Clause-Patent license. Please contact me to get further information.


    © 2020-2022 Cyril Dever. All rights reserved.

    Install

    npm i crumbl-hoster

    DownloadsWeekly Downloads

    3

    Version

    1.2.2

    License

    BSD-2-Clause-Patent

    Unpacked Size

    23.5 kB

    Total Files

    20

    Last publish

    Collaborators

    • cdever