* fix readme
This commit is contained in:
12
README.md
12
README.md
@@ -1,17 +1,17 @@
|
|||||||
# Polly - P2P Poll App
|
# Polly - P2P Poll App
|
||||||
|
|
||||||
A lightweight, real-time collaborative polling application that uses Yjs and WebRTC to allow multiple users to create options, vote, and see live results without a centralized database or back-end server.
|
A lightweight, real-time collaborative polling application that uses [Yjs](https://yjs.dev/) and [WebRTC](https://de.wikipedia.org/wiki/WebRTC) to allow multiple users to create options, vote, and see live results without a centralized database or back-end server.
|
||||||
|
|
||||||
### 🚀 Features
|
### 🚀 Features
|
||||||
|
|
||||||
- Real-time Collaboration: Instant synchronization of poll titles, options, and votes across all connected peers using CRDTs (Conflict-free Replicated Data Types).
|
- Real-time Collaboration: Instant synchronization of poll titles, options, and votes across all connected peers using [CRDTs (Conflict-free Replicated Data Types)](https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type).
|
||||||
- P2P Connectivity: Uses WebRTC via y-webrtc for direct browser-to-browser communication.
|
- P2P Connectivity: Uses WebRTC via [y-webrtc](https://github.com/yjs/y-webrtc) for direct browser-to-browser communication.
|
||||||
- Dynamic Voting: * Add new options on the fly.
|
- Dynamic Voting: * Add new options on the fly.
|
||||||
- Live-updating progress bars and vote tallies.
|
- Live-updating progress bars and vote tallies.
|
||||||
- Automatic sorting of options by vote count.
|
- Automatic sorting of options by vote count.
|
||||||
- Voting Deadline: A shared countdown timer (2 minutes) that locks the poll for all participants once expired.
|
- Voting Deadline: A shared countdown timer (2 minutes) that locks the poll for all participants once expired.
|
||||||
- Awareness & Presence: A status bar showing connection health and the number of active peers currently in the room.
|
- Awareness & Presence: A status bar showing connection health and the number of active peers currently in the room.
|
||||||
- Local Persistence: Uses y-indexeddb to save the poll state locally in your browser, ensuring data isn't lost if you refresh or lose connection.
|
- Local Persistence: Uses [y-indexeddb](https://github.com/yjs/y-indexeddb) to save the poll state locally in your browser, ensuring data isn't lost if you refresh or lose connection.
|
||||||
- No Setup Required: Unique "rooms" are created via URL parameters, making it easy to share a link and start a poll instantly.
|
- No Setup Required: Unique "rooms" are created via URL parameters, making it easy to share a link and start a poll instantly.
|
||||||
|
|
||||||
### 🛠 Tech Stack
|
### 🛠 Tech Stack
|
||||||
@@ -41,8 +41,8 @@ You can simulate a second user by opening an incognito Tab.
|
|||||||
```npm run dev```
|
```npm run dev```
|
||||||
|
|
||||||
- Deployment:
|
- Deployment:
|
||||||
- The code currently uses an Y-Webrtc-Signaling-Server at localhost that starts with `npm run dev` for development (PORT=4444 npx y-webrtc ).
|
- The code currently uses an Y-Webrtc-Signaling-Server at localhost:4444 that starts with `npm run dev` for development.
|
||||||
- To deploy the App, you need to set up a publicly available signaling server and set the address in the `synx.ts`. E.g. with Docker:
|
- To deploy the App, you need to set up a publicly available signaling server and set the address in the `synx.ts`. E.g. with Docker using the [funnyzak/y-webrtc-signaling](https://hub.docker.com/r/funnyzak/y-webrtc-signaling) image:
|
||||||
|
|
||||||
```version: '3.1'
|
```version: '3.1'
|
||||||
services:
|
services:
|
||||||
|
|||||||
Reference in New Issue
Block a user