Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/unllamas/zapcito
A starter kit for building Nostr clients with Lightning payment.
https://github.com/unllamas/zapcito
client hooks indexeddb next nextjs14 nostr nostr-client nostr-dev-kit react react-hooks
Last synced: about 1 month ago
JSON representation
A starter kit for building Nostr clients with Lightning payment.
- Host: GitHub
- URL: https://github.com/unllamas/zapcito
- Owner: unllamas
- License: agpl-3.0
- Created: 2024-08-23T16:39:35.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-10-01T02:41:39.000Z (3 months ago)
- Last Synced: 2024-11-07T06:54:15.374Z (about 2 months ago)
- Topics: client, hooks, indexeddb, next, nextjs14, nostr, nostr-client, nostr-dev-kit, react, react-hooks
- Language: TypeScript
- Homepage: https://zapcito.app
- Size: 2.13 MB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Zapcito
![Zapcito](./assets/banner.png)
[![AGPL-3.0 License](https://img.shields.io/github/license/unllamas/zapcito)](https://github.com/unllamas/zapcito/blob/main/LICENSE)
![Stars](https://badgen.net/github/stars/unllamas/zapcito/?color=yellow)A starter kit for building [Nostr](https://nostr.com/) clients with Lightning payments.
## 🤓 Tech Stack
- [NextJS](https://nextjs.org/) for web app
- [Tailwind](https://tailwindcss.com/) for style
- [Shadcn](https://ui.shadcn.com/) for UI components
- [LaWallet](https://lawallet.io/) for lightning payments## 🚀 Get Started
Prerequisites:
- Node v18+
- PNPM v8+To set up the app execute the following commands.
```bash
git clone https://github.com/unllamas/zapcito.git
cd ...
```### Installation
```bash
pnpm install
```Install dependencies
```bash
pnpm dev
```Runs the app in the development mode.
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
```bash
pnpm build
```### How to use
[FLOW](https://github.com/unllamas/zapcito/blob/main/FLOW.md)
## 🔐 Environment Variables
Create a `.env` file, or use `.env.example` as an example:
```sh
# 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:
```sh
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:
```sh
features # Or: page, screen
└── example
└── components # Example folder
└── config # Example folder
└── hooks # Example folder
└── index.(tsx)
```## 📋 Roadmap
- [x] Account system
- [ ] Profile
- [x] Get profile
- [x] Edit profile
- [ ] Follow profile
- [ ] Zap profile
- [ ] Notes
- [ ] Publish note
- [x] Get notes
- [ ] Reaction to note
- [ ] Repost note
- [ ] Lightning Payments
- [ ] Messages
- [ ] Badges
- [ ] Zap goals
- [ ] Relays
- [ ] Add or remove relays### Supports NIP's
- [x] NIP-01: [Basic protocol](https://github.com/nostr-protocol/nips/blob/master/01.md)
- [ ] NIP-02: Follow List
- [x] NIP-05: [Nostr keys to DNS](https://github.com/nostr-protocol/nips/blob/master/05.md)
- [ ] 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.
- ⚡ Zap sats to [[email protected]]([email protected])
## 💌 Contact
If you have any questions or concerns about **Zapcito**, please contact the developer at [npub1em3g0wcfjz5we0gaaelw07fcyqys3fwg42qykw774mvgala424rsl26ytm](https://njump.me/npub1em3g0wcfjz5we0gaaelw07fcyqys3fwg42qykw774mvgala424rsl26ytm).