https://github.com/dappforce/grillchat
Chat anonymously on-chain without wallets utilizing our censorship-resistant blockchain and app with anonymous logins. Powered by Subsocial Network.
https://github.com/dappforce/grillchat
Last synced: about 1 year ago
JSON representation
Chat anonymously on-chain without wallets utilizing our censorship-resistant blockchain and app with anonymous logins. Powered by Subsocial Network.
- Host: GitHub
- URL: https://github.com/dappforce/grillchat
- Owner: dappforce
- License: gpl-3.0
- Created: 2023-02-23T13:00:23.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-22T16:16:36.000Z (about 2 years ago)
- Last Synced: 2024-04-23T10:39:01.873Z (about 2 years ago)
- Language: TypeScript
- Homepage: https://grill.chat
- Size: 42.5 MB
- Stars: 22
- Watchers: 4
- Forks: 12
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-subsocial - GitHub
README
A chat application built on top of the Subsocial blockchain 🔗.
Grill offers a smooth and simple onboarding and user experience while still leveraging the power of blockchain technology.

---
## How to integrate Grill into your app 🤝
It's now simpler than ever before to have an anonymous, on-chain chat right in your application 🎉.
Read the [integration guide](./integration/README.md) to get started.
## How to run Grill locally 🏃♂️
Requirements:
- Node.js v18.0.0 or higher
- Yarn (you can use npm/pnpm if you want to)
### 1. Install dependencies
```bash
yarn
```
### 2. Setup environment variables
Copy the local example env file to .env
```bash
cp .env.local.example .env
```
### 3. Run the server
```bash
yarn dev
```
Congrats 🎉, you can now access the app at http://localhost:3000
## Theme Customization 🎨
All of the colors used in this project are provided in the [globals.css](./src/styles/globals.css) file in RGB format.
You can change the colors in this file to customize the theme of the app according to your needs.
## 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](https://docs.subsocial.network/docs/basics/lightpaper/architecture/energy) | Yes |
| CRUST_IPFS_AUTH | IPFS auth for using a Crust bucket | Yes |
| IPFS_PIN_URL | URL for Crust IPFS pinning service | Yes |
| USER_ID_SALT | Salt for user address encryption, which is used for analytics (which can be disabled) | No |
| NEXT_PUBLIC_SPACE_IDS | Your space ID(s). All the posts in these space(s) will be listed as topics. You can use multiple space IDs, separated by a comma. The first space ID will be recognized as the main space ID, where you can access the home page in / route, but for the other space IDs homepage, you can access it using /[spaceId]. You can read on how to [manage your space here](#how-to-manage-your-space) | Yes |
| MODERATION_URL | Moderation API url. Current moderation API: `https://moderation.subsocial.network/graphql` | Yes |
| NEXT_PUBLIC_AMP_ID | Amplitude analytics ID (disabled if no ID is provided) | No |
| NEXT_PUBLIC_SQUID_URL | Squid URL for fetching historical data. If provided, some of the data will be fetched using squid instead of blockchain | No |
| NEXT_PUBLIC_COMMUNITY_HUB_ID | Hub Id that will be used as community hub. If provided, community creation feature will be enabled | No |
| NEXT_PUBLIC_GA_ID | Google Analytics ID (disabled if no ID is provided) | No |
## How to Manage Your Space
[Grill](https://grillapp.net) home page contains list of topics for user to choose from. This topics are listed from all the posts in a [subsocial space](https://docs.subsocial.network/docs/develop/concepts/spaces/). You can [create space](https://grillapp.net/new-space) in Subsocial chain.
You can add chat rooms into your space by creating [posts](https://docs.subsocial.network/docs/develop/concepts/postsAndComments) inside it. After you created your post, you can check that it is listed in Grill by going to `https://grillapp.net/c/{your space id}`.