A decentralized calendar and event management platform built on Pubky using existing RFC standards.
This guide sets up a complete local testnet environment for development.
- Node.js 20+ - for the Next.js frontend
- Rust & wasm-pack - for building pubky-app-specs WASM
- Docker & Docker Compose - for Neo4j, Redis, PostgreSQL databases
- tmux - for running multiple services (testnet, nexus, frontend) in one terminal
# Clone all 4 repos to the same directory
cd ~/Repositories
git clone https://github.com/gillohner/eventky
git clone https://github.com/gillohner/pubky-app-specs
git clone https://github.com/gillohner/pubky-nexus
git clone https://github.com/pubky/pubky-corecd ~/Repositories/pubky-app-specs
# Install wasm-pack if needed
cargo install wasm-pack
# Build for bundler target (Next.js)
wasm-pack build --target bundlercd ~/Repositories/eventky
npm installcp .env.example .env.localEdit .env.local:
NEXT_PUBLIC_PUBKY_ENV=testnet./scripts/start-eventky-testnet-nexus.shThis starts everything in a tmux session with 4 windows:
- testnet - Pubky testnet (homeserver + relay)
- nexus - Pubky Nexus indexer
- eventky - Next.js dev server
- commands - Service info and ports
Tmux controls:
Ctrl+bthen1/2/3/4- switch windowsCtrl+bthend- detach (services keep running)tmux attach -t eventky-dev- reattach
Eventky: http://localhost:3000
Swagger Nexus API: http://localhost:8080/swagger-ui/
Neo4j Browser: http://localhost:7474/
Homeserver: http://localhost:6286/
# Stop all services
./scripts/stop-eventky-testnet-nexus.sh
# Full reset (wipes all databases)
./scripts/reset-eventky-testnet.sheventky/
├── app/ # Next.js App Router pages
├── components/ # React components
├── hooks/ # React Query hooks
├── lib/ # Core utilities
│ ├── cache/ # Optimistic caching
│ ├── datetime/ # Date/time utilities
│ ├── nexus/ # Nexus API client
│ └── pubky/ # Pubky SDK wrappers
├── stores/ # Zustand stores
├── types/ # TypeScript types
├── docs/ # Documentation
└── scripts/ # Development scripts
- Next.js 16 with App Router & Turbopack
- Zustand + TanStack Query
- Shadcn UI + Tailwind CSS v4
- @synonymdev/pubky
- pubky-app-specs (WASM)
See the docs/ folder:
- AUTH.md - Authentication flow
- CACHING.md - Optimistic caching strategy
- DATA_MODEL.md - Data structures
- DATETIME.md - Date/time handling
- LOCATIONS.md - Location & BTCMap integration
- RECURRENCE.md - Recurring events (RFC 5545)
- VPS_SETUP.md - Production deployment
When you make changes to pubky-app-specs:
cd ~/Repositories/pubky-app-specs
wasm-pack build --target bundler
# Reinstall in eventky to pick up changes
cd ~/Repositories/eventky
npm installMIT License - see LICENSE