A directory for MeshCore contact details, allowing users to find each other
Find a file
Jeroen 1a2ee579f4 feat: implement search and pagination in registrations list
- Added search functionality to filter registrations by display name, public key, description, and location.
- Introduced pagination to manage the display of registrations, allowing users to navigate through pages.
- Updated the server-side logic to handle search queries and return paginated results.
- Enhanced the UI to reflect the new search and pagination features, including a clear button for the search input.
- Added derived states to manage visible nodes based on the current map viewport and search query.
- Improved the overall user experience with informative messages regarding search results and pagination.
2026-04-08 16:10:00 +02:00
.claude Refactor responsibilities section in product-owner.md for clarity and organization 2026-04-08 16:09:35 +02:00
prisma Initial commit 2026-04-01 14:47:24 +02:00
src feat: implement search and pagination in registrations list 2026-04-08 16:10:00 +02:00
static Initial commit 2026-04-01 14:47:24 +02:00
.dockerignore Initial commit 2026-04-01 14:47:24 +02:00
.gitignore Initial commit 2026-04-01 14:47:24 +02:00
.npmrc Initial commit 2026-04-01 14:47:24 +02:00
ARCHITECTURE.md Initial commit 2026-04-01 14:47:24 +02:00
CLAUDE.md Initial commit 2026-04-01 14:47:24 +02:00
CONTRIBUTING.md Initial commit 2026-04-01 14:47:24 +02:00
docker-compose.yml Initial commit 2026-04-01 14:47:24 +02:00
docker-entrypoint.sh Initial commit 2026-04-01 14:47:24 +02:00
Dockerfile Initial commit 2026-04-01 14:47:24 +02:00
package-lock.json Initial commit 2026-04-01 14:47:24 +02:00
package.json Initial commit 2026-04-01 14:47:24 +02:00
PRODUCT.md Initial commit 2026-04-01 14:47:24 +02:00
README.md Initial commit 2026-04-01 14:47:24 +02:00
svelte.config.js Initial commit 2026-04-01 14:47:24 +02:00
tsconfig.json Initial commit 2026-04-01 14:47:24 +02:00
vite.config.ts Initial commit 2026-04-01 14:47:24 +02:00

MC Yellow Pages

A MeshCore public key registry where users can register and look up MeshCore public keys.

Tech Stack

  • SvelteKit — Full-stack framework
  • TypeScript — Type safety
  • Tailwind CSS — Styling
  • Prisma — ORM with SQLite database

Getting Started

Prerequisites

  • Node.js 18+
  • npm

Setup

# Install dependencies
npm install

# Generate Prisma client
npx prisma generate

# Run database migrations
npx prisma migrate dev

# Start dev server
npm run dev

The app will be available at http://localhost:5173.

Database

The project uses SQLite, stored locally as prisma/dev.db.

# View database in browser
npx prisma studio

# Create a new migration after editing schema.prisma
npx prisma migrate dev --name <migration_name>

Project Structure

src/
├── lib/
│   ├── server/
│   │   └── prisma.ts         # Prisma client instance
│   └── validation.ts         # Public key validation
├── routes/
│   ├── +layout.svelte        # App layout with nav
│   ├── +page.svelte          # Browse / search directory
│   ├── +page.server.ts       # Directory data loading
│   └── register/
│       ├── +page.svelte      # Registration form
│       └── +page.server.ts   # Form action (validation + insert)
├── app.css                   # Tailwind CSS
└── app.html                  # HTML shell
prisma/
├── schema.prisma             # Database schema
└── migrations/               # Migration history

Features

  • Register a MeshCore public key with display name, location, and description
  • Browse all registered keys
  • Search by name, key, location, or description
  • Validation of 64-character hex public keys (client + server)
  • Duplicate detection — prevents registering the same key twice