Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/unllamas/eventro
A decentralized event discovery platform built on Nostr.
https://github.com/unllamas/eventro
nextjs nextjs14 nostr react
Last synced: 13 days ago
JSON representation
A decentralized event discovery platform built on Nostr.
- Host: GitHub
- URL: https://github.com/unllamas/eventro
- Owner: unllamas
- License: mit
- Created: 2024-10-10T15:40:47.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-10-18T15:20:10.000Z (2 months ago)
- Last Synced: 2024-11-24T20:55:19.357Z (30 days ago)
- Topics: nextjs, nextjs14, nostr, react
- Language: TypeScript
- Homepage: https://eventro-events.vercel.app/
- Size: 691 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Eventro 🎟️
Eventro es una plataforma para la búsqueda y gestión de eventos.
## Guía de Instalación 🛠️
### Requisitos Previos
- Node.js (v18 o superior)
### Pasos de Instalación
1. Clona el repositorio:
```bash
git clone https://github.com/unllamas/eventro.git
cd eventro
```2. Instala las dependencias:
```bash
npm install
```3. Inicia la aplicación:
```bash
npm run dev
```## Funcionamiento
### Tipos de eventos en Nostr
Eventro utiliza tipos de eventos específicos de Nostr para gestionar la creación de eventos y la emisión de tickets:
- **Evento Principal ([NIP-52 Calendar Events](https://github.com/nostr-protocol/nips/blob/master/52.md))**: Nota reemplazable que representa la creación y modificación de un evento. Los eventos pueden ser actualizados para asegurar que los asistentes tengan la información más reciente.
- **Ticket (`kind: 30921`)**: Nota regular que gestiona la propiedad y la transferencia de tickets. Esto garantiza que los tickets puedan ser revendidos o transferidos entre usuarios mientras se mantiene la información actualizada.
- **Check-in (`kind: 30922`)**: Nota regular que maneja la validación de tickets al ingresar a un evento. Una vez que un ticket se utiliza para el check-in, se marca como consumido y no puede volver a usarse.### Evento
```js
{
"kind": 31923,
"pubkey": "",
"content": "",
"tags": [
// Metadata
["d", ""],
["title", ""],
["image", "", "256x256"],// Dates
["start", ""],
["end", ""],["start_tzid", ""],
["end_tzid", ""],// Location
["location", ``],
["g", ""],// Publishers
["p", "", "", "owner"],
["p", "", "", ""],// Relays
["relays", "", ...]// Tags
["t", ""],
["t", ""],// Tickets
["ticket", "", "", "", "sat/", ""],
["ticket", "", "", "", "sat/", ""],
]
}
```### Ticket
```js
{
"kind": 30921,
"pubkey": "",
"content": "Tickets purchased.",
"tags": [
// Metadata
["d", ""],
["a", "::"]
["e", "<32-bytes lowercase hex of the id of principal event>"],// Payment
["bolt11", ""],// Publishers
["p", "", ""],
["p", "", ""],// Relays
["relays", "", ...]// Status
["status", "purchased/transferred"],// Tickets
["ticket", "", ""],
["ticket", "", ""],
]
}
```### Check-in
```js
{
"kind": 30922,
"pubkey": "",
"content": "Check-in.",
"tags": [
// Metadata
["a", "::"]
["e", "<32-bytes lowercase hex of the id of ticket event>"],// User
["p", ""],// Relays
["relays", "", ...]// Ticket
["check-in", "", ""],
["check-in", "", ""],
]
}
```## Contribuir 🤝
¡Nos encantaría contar con tu ayuda para mejorar Eventro! Sigue estos pasos para contribuir:
1. Realiza un fork del repositorio.
2. Crea una rama con tus cambios:
```bash
git checkout -b feature/mi-nueva-funcionalidad
```
3. Realiza tus cambios y commitea:
```bash
git commit -am 'Añade una nueva funcionalidad'
```
4. Sube tus cambios a tu fork:
```bash
git push origin feature/mi-nueva-funcionalidad
```
5. Crea un Pull Request detallando tus mejoras.## Licencia 📄
Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo [LICENSE](LICENSE) para más detalles.
---
¿Tienes preguntas o sugerencias? ¡Únete a nuestra comunidad en [Discord](https://discord.gg/QESv76truh)!
Construido con ❤️ por la comunidad [Nostr Argentina](https://github.com/nostr-arg).