// readme

OSM for Cities

A web platform to monitor OpenStreetMap datasets at the city level.

Requirements

  • Node.js (see .nvmrc for specific version)
  • PostgreSQL (running on port 5432)
  • pnpm, at the version pinned in package.json (packageManager); pnpm 9.7+ switches to it automatically

Getting Started

Environment Setup

  1. Copy .env.example to .env.local:
cp .env.example .env.local
  1. Update the following required settings in .env.local:
  • DATABASE_URL: Your PostgreSQL connection string
  • AUTH_SECRET: A secure random string for session encryption
  • AUTH_URL: Your application URL
  • CRON_ROUTE_SECRET: Generate a new random string (e.g. with openssl rand -hex 32) and use it as your API secret for the cron job

Example to generate a secret:

openssl rand -hex 32

Email configuration:

For Production: Postmark credentials are required for magic link authentication

  • POSTMARK_API_TOKEN - Your Postmark API token
  • POSTMARK_FROM_EMAIL - Verified sender email (e.g., noreply@yourdomain.com)

For Development: Postmark is optional

  • Without Postmark: Magic links are printed to console (clickable in most terminals) -โ€ฆ