Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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: 13 days ago
JSON representation

Topics – A NIP-29 Forum Client

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.