Skip to content
/ zapcito Public template

A starter kit for building Nostr clients with Lightning payment.

License

Notifications You must be signed in to change notification settings

unllamas/zapcito

Repository files navigation

Zapcito

Zapcito

AGPL-3.0 License Stars

A starter kit for building Nostr clients with Lightning payments.

🤓 Tech Stack

🚀 Get Started

Prerequisites:

  • Node v18+
  • PNPM v8+

To set up the app execute the following commands.

git clone https://github.com/unllamas/zapcito.git
cd ...

Installation

pnpm install

Install dependencies

pnpm dev

Runs the app in the development mode.

Open http://localhost:3000 to view it in the browser.

pnpm build

How to use

FLOW

🔐 Environment Variables

Create a .env file, or use .env.example as an example:

# Analytics
GOOGLE_ANALYTICS_KEY='G-...'
GOOGLE_TAG_MANAGER_KEY='GTM-...'

# Generic
SIGNER_RANDOM_PRIV_KEY='Secret key on kex'

# Giphy
NEXT_PUBLIC_GIPHY_API_KEY='Generate API for Giphy'

🗄️ Project Structure

Most of the code lives in the src folder and looks something like this:

src
├── app
├── components
│   └── layouts         # Folder for different layouts
│   └── ui              # Atomic components
├── config
├── features
├── hooks
├── lib
├── store
├── types
└── index.(css)

For next@^13.x we recommend using the features folder which simulates a pages or screens folder. This in turn can contain the following structure:

features                # Or: page, screen
└── example
    └── components      # Example folder
    └── config          # Example folder
    └── hooks           # Example folder
    └── index.(tsx)

📋 Roadmap

  • Account system
  • Profile
    • Get profile
    • Edit profile
    • Follow profile
    • Zap profile
  • Notes
    • Publish note
    • Get notes
    • Reaction to note
    • Repost note
  • Lightning Payments
  • Messages
  • Badges
  • Zap goals
  • Relays
    • Add or remove relays

Supports NIP's

  • NIP-01: Basic protocol
  • NIP-02: Follow List
  • NIP-05: Nostr keys to DNS
  • NIP-17: Private Messages
  • NIP-18: Reposts
  • NIP-25: Reactions
  • NIP-57: Lightning Zaps
  • NIP-58: Badges
  • NIP-75: Zap Goals
  • NIP-96: HTTP File Storage Integration

License

Zapcito is open-source software licensed under the AGPL-3.0 license.

🩷 Donations

If you'd like to support the development of Zapcito, please consider donating to the developer.

💌 Contact

If you have any questions or concerns about Zapcito, please contact the developer at npub1em3g0wcfjz5we0gaaelw07fcyqys3fwg42qykw774mvgala424rsl26ytm.