A starter kit for building Nostr clients with Lightning payments.
Prerequisites:
- Node v18+
- PNPM v8+
To set up the app execute the following commands.
git clone https://github.com/unllamas/zapcito.git
cd ...
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
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'
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)
- 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
- 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
Zapcito is open-source software licensed under the AGPL-3.0 license.
If you'd like to support the development of Zapcito, please consider donating to the developer.
- ⚡ Zap sats to [email protected]
If you have any questions or concerns about Zapcito, please contact the developer at npub1em3g0wcfjz5we0gaaelw07fcyqys3fwg42qykw774mvgala424rsl26ytm.