A calendar and event management platform built with Next.js and Pubky Core.
- Node.js 20+
- NPM (workspace setup for monorepo)
This project uses an NPM workspace setup to link the local updated pubky-app-specs package.
- Clone both projects to same Root:
# From ~/Repositories
git clone https://github.com/gillohner/eventky
git clone https://github.com/gillohner/pubky-app-specs
cd pubky-app-specs
git checkout feat/eventky- Install dependencies:
cd eventky
npm iℹ️ During development ../pubky-app-specs/pkg is needed.
- Configure environment:
cd eventky
cp .env.example .env.localEdit .env.local to configure your environment:
NEXT_PUBLIC_PUBKY_ENV: Choosetestnet,staging, orproduction- Optionally override specific URLs for homeserver, relay, or gateway
- See
.env.examplefor detailed documentation of all settings
- Run the development server:
cd eventky
npm run devOpen http://localhost:3000.
- Framework: Next.js 16 with App Router & Turbopack
- Authentication: @synonymdev/pubky
- State Management: Zustand + TanStack Query
- UI: Shadcn UI + Tailwind CSS v4
- Types: pubky-app-specs (local workspace package)
All Pubky-related configuration is centralized in /lib/config.ts, which reads from environment variables. Configuration includes:
- Environment Selection:
testnet,staging, orproduction - Homeserver: Public key for the Pubky homeserver
- HTTP Relay: URL for QR code authentication relay
- Gateway: URL for resolving
pubky://URLs to HTTP - Profile Path: Storage path for user profiles
See .env.example for detailed documentation and default values for each environment.
Next.js is configured to resolve the workspace package with Turbopack:
// next.config.ts
turbopack: {
root: join(__dirname, ".."), // Points to monorepo root
}When you make changes to pubky-app-specs:
cd ~/Repositories/pubky-app-specs
cargo run --bin bundle_specs_npm
# The workspace link is automatic - just restart dev server
cd ~/Repositories/eventky
npm run devThis project is licensed under the MIT License - see the LICENSE file for details.