https://github.com/max21dev/topics
Topics – A NIP-29 Forum Client
https://github.com/max21dev/topics
bitcoin decentralized discussion discussion-forum forum foss nip29 nostr topics
Last synced: 2 months ago
JSON representation
Topics – A NIP-29 Forum Client
- Host: GitHub
- URL: https://github.com/max21dev/topics
- Owner: max21dev
- Created: 2024-09-13T17:46:52.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-09-14T19:30:59.000Z (9 months ago)
- Last Synced: 2024-10-11T02:41:56.845Z (8 months ago)
- Topics: bitcoin, decentralized, discussion, discussion-forum, forum, foss, nip29, nostr, topics
- Language: TypeScript
- Homepage: https://topics.nip29.com
- Size: 143 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# 💭 Topics
## Introduction
**"Topics"** is a free and open-source forum application built on the Nostr protocol, utilizing the NIP-29 standard to support relay-based groups with specific moderation capabilities.
This client enables users to participate in topics managed by relays, where access and participation are governed by rules enforced by the relay.## Live Demo
You can access the live demo of **"Topics"** at the following URL:
- [topics.nip29.com](https://topics.nip29.com)
## Installation
To install and run **"Topics"** locally, follow these steps:
1. **Clone the repository:**
```bash
git clone https://github.com/max21dev/topics.git
```
2. **Navigate to the project directory:**
```bash
cd topics
```
3. **Install dependencies:**
```bash
npm install
```
4. **Run the development server:**
```bash
npm run dev
```## Usage
Once the development server is running, you can access the **"Topics"** client through your web browser. The interface will allow you to create or join topics, participate in discussions, and manage topic settings.
## Libraries and Tools Used
- **Vite:** Frontend build tool and development server. [→](https://github.com/vitejs/vite)
- **TypeScript**: Strongly typed programming language that builds on JavaScript. [→](https://github.com/microsoft/TypeScript)
- **React**: JavaScript library for building user interfaces. [→](https://github.com/facebook/react)
- **Tailwind CSS**: Utility-first CSS framework for styling. [→](https://github.com/tailwindlabs/tailwindcss)
- **Shadcn UI**: Beautiful designed components. [→](https://github.com/shadcn-ui/ui)
- **Zustand**: Bear necessities for state management in React. [→](https://github.com/pmndrs/zustand)
- **nostr-tools**: Tools for developing Nostr clients. [→](https://github.com/nbd-wtf/nostr-tools)
- **NDK (Nostr Dev Kit)**: NDK is a nostr development kit that makes the experience of building Nostr-related applications. [→](https://github.com/nostr-dev-kit/ndk)
- **Nostr-Hooks**: Nostr-Hooks is a stateful wrapper library of React hooks around NDK. [→](https://github.com/ostyjs/nostr-hooks)







## Contribution
We welcome contributions from the community! If you'd like to contribute, please follow these guidelines:
1. Fork the repository.
2. Create a new branch for your feature or bugfix.
3. Submit a pull request with a clear description of your changes.## License
This project is licensed under the MIT License.
## Acknowledgements
Special thanks to the Nostr protocol community and all contributors who helped make this project possible.