https://github.com/unllamas/eventro_old
A decentralized event discovery platform built on Nostr.
https://github.com/unllamas/eventro_old
nextjs nextjs14 nostr react
Last synced: 4 months ago
JSON representation
A decentralized event discovery platform built on Nostr.
- Host: GitHub
- URL: https://github.com/unllamas/eventro_old
- Owner: unllamas
- License: mit
- Created: 2024-10-10T15:40:47.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-18T15:20:10.000Z (about 1 year ago)
- Last Synced: 2025-03-30T14:29:53.122Z (8 months 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).