Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/farcaster-project/farcaster-gui
A next.js based React webapp for interacting with Farcaster Node gRPC daemon.
https://github.com/farcaster-project/farcaster-gui
farcaster grpc gui reactjs typescript
Last synced: 3 days ago
JSON representation
A next.js based React webapp for interacting with Farcaster Node gRPC daemon.
- Host: GitHub
- URL: https://github.com/farcaster-project/farcaster-gui
- Owner: farcaster-project
- License: mit
- Created: 2022-11-14T15:29:18.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-09-18T21:35:57.000Z (over 1 year ago)
- Last Synced: 2025-01-08T20:11:32.725Z (15 days ago)
- Topics: farcaster, grpc, gui, reactjs, typescript
- Language: TypeScript
- Homepage:
- Size: 419 KB
- Stars: 8
- Watchers: 3
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Build](https://img.shields.io/github/actions/workflow/status/farcaster-project/farcaster-gui/package.yml?branch=main)](https://github.com/farcaster-project/farcaster-gui/blob/main/.github/workflows/package.yml)
[![Static Analysis](https://img.shields.io/github/actions/workflow/status/farcaster-project/farcaster-gui/analysis.yml?branch=main&label=format)](https://github.com/farcaster-project/farcaster-gui/blob/main/.github/workflows/analysis.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)# Farcaster GUI
This is the Farcaster Node web application GUI. It allows to interact with your Farcaster Node through the gRPC daemon service. This GUI is built around the Next.js framework, i.e. this is a simple React based web application bundeled as a Docker image.
:mag: You can run this app on your machine or on a server. The server running the app has no access to the node you connect to in the app, only your browser will (and needs access to) your Farcaster Node.
You can install the node with
```bash
cargo install farcaster_node
```Make sure you have the gRPC service enabled in your `.farcaster/farcasterd.toml` config file
```toml
[grpc]
enable = true
bind_port = 50051
bind_ip = "127.0.0.1"
```Then run the app with
```bash
docker run --rm -p 3000:3000 ghcr.io/farcaster-project/faracster-gui/app:latest
```## Getting Started
First install the deps with `npm install` and generate gRPC client files with `npm run gen` (see instructions below), and then run the development server
```bash
npm run dev
# or
yarn dev
```Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
This is tested with node.js version `16`, libprotoc `3.21`, and the code generator plugin [`protoc-gen-grpc-web`](https://github.com/grpc/grpc-web#code-generator-plugin).
Generated files related to `proto/farcaster.proto` aren't committed, you need to run `npm run gen` to generate them. (You need `protoc` and the code generator plugin [`protoc-gen-grpc-web`](https://github.com/grpc/grpc-web#code-generator-plugin))
## Build and Run the production App
You can build and run a production version of the app either with a Docker image or on your host.
To build and run the Docker image
```bash
docker build -t farcaster-gui .
docker run -p 3000:3000 farcaster-gui
```:whale2: The Docker image runs the production application in an Buster Slim Node.js 16 environement.
To build the production app and run it on your host
```bash
npm run build && npm run start
# or
yarn build && yarn start
```## Licensing
The code in this project is licensed under the [MIT License](LICENSE).