Skip to content

TrueSparrowSystems/whisper-chain-be

Repository files navigation

Whisper Chain Backend

Node.js repository for Whisper Chain REST APIs and cron processes.

Documentation

OpenAPI Specs

We use OpenAPI specifications to standardize our API documentation. To generate the documentation, use the following command:

 > npm run generate-openapi-docs

You can view the user-friendly UI of the specs by visiting <domain>/api-docs in your browser.

DB Schema Doc

We use DBML to document the MySQL tables in our project. You can find the DB schema documentation in the docs/dbSchema.dbml file.

To view the schema diagram in a user-friendly graphical format, use the online editor.

Sequence Diagrams

To provide an easy-to-understand overview of the different steps involved in various flows, we've created a number of sequence diagrams. You can find these diagrams in the docs/sequenceDiagrams folder.

Environment Setup

Prerequisites

Before you can start the server, please make sure that you have the following prerequisites installed:

You will also need to set the correct values for the environment variables mentioned in the ./env_vars.sample file.

Starting the Server

To start the server, please follow the steps below:

  • Install the required NPM dependencies by running the following commands:
rm -rf node_modules
rm -rf package-lock.json
npm install
  • Create the main db and create schema_migrations table using the following command:
source set_env_vars.sh
node db/seed.js
  • Run all pending migrations by running the following commands:
source set_env_vars.sh
node db/migrate.js
  • Start the server by running the following commands:
source set_env_vars.sh
npm start

Start Cron Processes

TODO

Seeding Chain Images

We have created a telegram bot to maintain a reserve of images for future lens profile posts. This ensures that we always have a set of images ready to go. These images will be posted one by one each day to lens through a cron job.

Telegram Bot Setup

  1. Create a bot on the Telegram platform.
  2. Set the following environment variables:
    • TELEGRAM_BOT_TOKEN - Bot token
    • WHITELISTED_USER_IDS - An array of telegram user IDs of admin users.
  3. Set up a continuous cron job using the following command:
node lib/cron/seedImage.js

Using the Telegram Bot

To use the telegram bot, please follow the steps below:

  1. Go to the bot page on Telegram.
  2. Upload the photo that you would like to add to the reserve.

That's it! The image will be added to the reserve and will be available for future posts.

About

APIs needed for Whisper Chain functionality

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages