tusharojha / grillchat-light-ui

Simple Grill Chat implementation built on IPFS, Subsocial blockchain and Next.js + Tailwild

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A light-weight version of Grill.chat πŸ’¬


How to run locally πŸƒβ€β™‚οΈ

Requirements:

  • Node.js v16.0.0 or higher
  • Yarn (you can use npm/pnpm if you want to)

1. Install dependencies

yarn

or

npm i

2. Setup environment variables

Copy the local example env file to .env

For Mac/Linux:

cp .env.example .env

For Windows:

copy .env.example .env

3. Run the server

yarn dev

or

npm run dev

Congrats πŸŽ‰, you can now access the app at http://localhost:3000

Grill extensions

Light Grill can be extended with new functionality via custom extensions.

Each extension should have:

  • A specific usecase, for example: share NFTs in chat or uploade images to IPFS, etc.
  • A JSON schema that will extend IPFS content of the chat message. See ExtensionWidget class in types.tsx.
  • An input modal for the asking data from users.
  • A render function for your extension widget.

Once you created your extension, add it to the Extension Registry of Light Grill here.

Environment variables 🌎

Below is the list of environment variables that you can use to customize your chat, based upon your needs and the needs of your community.

Name Description Required?
SERVER_MNEMONIC Wallet mnemonic of the server, in order to send automatically users Energy Yes
CAPTCHA_SECRET ReCaptcha secret, read here for more information. Yes
NEXT_PUBLIC_CAPTCHA_SITE_KEY ReCaptcha sitekey Yes
NEXT_PUBLIC_MORALIS_API_KEY API key to fetch NFT metadata from Moralis. Get your own API key here. No

We have an example enveironment file created for you here.

Facing Issues?

If you are building an extension on top of Grill light or having hard time running it locally, join our Devs Chat and let us know about it.

About

Simple Grill Chat implementation built on IPFS, Subsocial blockchain and Next.js + Tailwild

License:MIT License


Languages

Language:TypeScript 96.8%Language:JavaScript 2.1%Language:CSS 1.1%