Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/daniissac/votemesh
A decentralized, peer-to-peer polling web application
https://github.com/daniissac/votemesh
decentralized p2p poll polling
Last synced: 17 days ago
JSON representation
A decentralized, peer-to-peer polling web application
- Host: GitHub
- URL: https://github.com/daniissac/votemesh
- Owner: daniissac
- License: mit
- Created: 2024-10-24T09:25:01.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-10-25T06:14:47.000Z (3 months ago)
- Last Synced: 2024-10-25T06:57:21.285Z (3 months ago)
- Topics: decentralized, p2p, poll, polling
- Language: JavaScript
- Homepage: http://daniissac.com/votemesh/
- Size: 6.84 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# VoteMesh
A decentralized peer-to-peer polling platform that works directly in your browser. Create and share polls instantly with no server required!
## Features
- 🌐 Create and share polls instantly
- 📱 Real-time voting and results
- 🔄 Automatic peer discovery
- 💾 Local data persistence
- 🔒 No server required
- 📊 Beautiful result visualization
- 🎨 Modern, responsive UI## How It Works
VoteMesh uses PeerJS for WebRTC-based peer-to-peer communication and browser's localStorage for data persistence. When you create a poll:
1. A unique poll ID is generated
2. Poll data is stored locally
3. Connected peers are notified
4. A shareable URL is createdWhen someone votes:
1. Their vote is recorded locally
2. The vote is broadcast to all connected peers
3. Results update in real-time for everyone## Technology Stack
- PeerJS for P2P communication
- WebRTC Data Channels
- Browser's localStorage for persistence
- Tailwind CSS for styling
- Pure JavaScript (ES6+)## Usage
1. Visit [https://daniissac.com/votemesh](https://daniissac.com/votemesh)
2. Create a poll by entering:
- Your question
- Multiple choice options (up to 10)
3. Share the generated URL with others
4. Watch as votes come in real-time!## Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- PeerJS for WebRTC simplification
- Tailwind CSS for styling
- Pure JavaScript (ES6+)