Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 4 days 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 (3 months ago)
- Default Branch: main
- Last Pushed: 2024-09-14T19:30:59.000Z (3 months ago)
- Last Synced: 2024-10-11T02:41:56.845Z (2 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)![Vite](https://img.shields.io/badge/vite-%23646CFF.svg?style=for-the-badge&logo=vite&logoColor=white)
![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge&logo=typescript&logoColor=white)
![React](https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge&logo=react&logoColor=%2361DAFB)
![TailwindCSS](https://img.shields.io/badge/tailwindcss-%2338B2AC.svg?style=for-the-badge&logo=tailwind-css&logoColor=white)
![Shadcn UI](https://img.shields.io/badge/Shadcn%20UI-%23FF0080.svg?style=for-the-badge&logoColor=white)
![Zustand](https://img.shields.io/badge/zustand-%235A67D8.svg?style=for-the-badge&logoColor=white)
![Nostr Tools](https://img.shields.io/badge/nostr-tools-%23FF0080.svg?style=for-the-badge&logoColor=white)
![NDK](https://img.shields.io/badge/NDK-%23B266FF.svg?style=for-the-badge&logoColor=white)
![Nostr Hooks](https://img.shields.io/badge/Nostr%20Hooks-%2300CC66.svg?style=for-the-badge&logoColor=white)## 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.