Skip to content

steliosrammos/ricochet

Repository files navigation

Pebbled

A full-stack application for creating, managing and browsing Pebbled Pebbles. Pebbles are promotional campaigns for Nostr notes that reward engagement and conversations.

The rewards are paid out automatically through NWC connections.

Tech Stack

  • Monorepo Management: npm workspaces
  • Backend:
    • Framework: Fastify
    • Language: TypeScript
    • ORM: Prisma
    • Database: SQLite (for development)
    • Nostr: nostr-tools, NDK
    • Job Queues: BullMQ
  • Frontend:
    • Framework: React
    • Build Tool: Vite
    • Language: TypeScript
    • Styling: Tailwind CSS, shadcn/ui
    • State Management: Jotai

Project Structure

The project is structured as a monorepo with two main packages:

  • backend/: The Node.js server application.
  • frontend/: The React client application.
pebbled/
├── backend/         # Fastify API and workers
├── frontend/        # React web client
└── package.json     # Root package configuration

Getting Started

Prerequisites

  • Bun (v1.1+ recommended for backend)
  • Node.js (v18 or later for frontend tooling with npm)
  • A running Redis instance (for job queues)

Running Local Dependencies

The project requires a running Redis instance for development. A docker-compose.yml file is provided to easily start one. A local Nostr relay is also provided for local development.

  1. Start the services in detached mode:

    docker-compose up -d

    This will start:

    • Redis: Accessible on localhost:6380
    • Nostr Relay: Accessible on ws://localhost:7777
  2. To stop the services:

    docker-compose down

Installation

  1. Install dependencies (Bun workspaces):
    bun install

Configuration

Create a .env file in the backend directory by copying the .env.example and filling in the required values.

Running the Application

You can run both the frontend and backend concurrently.

  1. Run the Backend Server:

    bun run dev:backend
  2. Run the Frontend Development Server:

    bun run dev:frontend

About

Promote notes and reward conversations on Nostr.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages