Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
AI-generated, please review
  • Loading branch information
BitcoinErrorLog authored Oct 21, 2024
1 parent c40f18b commit 28989f6
Showing 1 changed file with 91 additions and 6 deletions.
97 changes: 91 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,93 @@
# Pubky
# Pubky App

> The Web, long centralized, must decentralize; Long decentralized, must centralize.
## Overview

> [!WARNING]
> Pubky is still under heavy development and should be considered an alpha software.
>
> Features might be added, removed, or changed. Data might be lost.
Pubky App is the primary application built on the Pubky Core protocol, offering users a decentralized platform for coordination, publishing, discovery, and social interaction. It provides ownership of data, control over content, and a censorship-resistant experience.

## Features

- **Decentralized Social Interaction**: Engage with others without centralized control.
- **Content Publishing**: Publish articles, images, and more in a fully decentralized manner.
- **Tag-Based Discovery**: Leverage user-generated tags for effective content discovery.
- **Lightning Network Payments**: Integrate peer-to-peer payments for content monetization.

## Technology Stack

- **Backend**: Built using Pubky Core for decentralized data management.
- **Frontend**: React.js, leveraging Vite for fast build times.
- **Homeserver**: Used to store and synchronize user data in a decentralized way.
- **Payments**: Integrated with the Lightning Network for micropayments.

## Prerequisites

- **Node.js**: Version 14.x or higher.
- **npm**: Version 6.x or higher.
- **Pubky SDK**: Required for interaction with the Pubky Core protocol.

Ensure these prerequisites are installed before proceeding with setup.

## Installation

First, copy the environment file:

```sh
$ cp example.env .env
```

### API Documentation

If you wish to interact with the Pubky App programmatically, refer to the available REST API endpoints provided in the documentation. These endpoints allow developers to create, read, update, and delete data related to user interactions, content, and payments. For more details, please check the Pubky Core API Documentation.

Update the `.env` file with the following required variables:

- `PUBKY_API_KEY`: The API key for Pubky Core. This key is necessary for authenticating requests and integrating with Pubky Core services.
- `HOMESERVER_URL`: URL for the homeserver that stores and synchronizes user data. This homeserver is responsible for keeping user content available and synchronized across devices.
- `LIGHTNING_NODE_URL`: URL for the Lightning Network node. This is used for handling payment requests and enabling microtransactions within the Pubky App.
- `PKARR_ENDPOINT`: Endpoint URL for PKARR services, which are essential for managing user identities and addressing content in a decentralized manner.
- `HOMESERVER_URL`: URL for the homeserver that stores and synchronizes user data.
- `LIGHTNING_NODE_URL`: URL for the Lightning Network node.
- `PKARR_ENDPOINT`: Endpoint URL for PKARR services.

Install dependencies:

```sh
$ npm install
```

Start the development server:

```sh
$ npm run dev
```

## Deployment

To deploy the application:

Copy the environment file:

```sh
$ cp example.env .env
```

Install dependencies, build, and preview the project:

```sh
$ npm install
$ npm run build
$ npm run preview
```

## Contribution

We welcome contributions from the community. If you're interested in contributing, please fork the repository, create a branch, and submit a pull request.

## License

This project is licensed under the MIT License. See the LICENSE file for more information.

## Community and Support

Join our community to stay up-to-date with the latest news and developments:

- [Twitter X Updates](https://x.com/getpubky)

0 comments on commit 28989f6

Please sign in to comment.