Logo Lanfrica

Helloworldceo/Ethiopia-Civic-Registry

Record type:

software
Creator:
Hel
Host:
# Ethiopia Civic Registry A bilingual (English / Amharic), source-cited directory of Ethiopian politicians and public figures, cross-linked to the federal, regional, zonal, and woreda geography they serve. Built for `info.ethioweb.net`. ## Stack - **Next.js 16** (App Router, TypeScript) + **Tailwind CSS v4** - **next-intl** for `/en` and `/am` routes - **Prisma** + **PostgreSQL** — see `prisma/schema.prisma` for the data model (a versioned `AdministrativeUnit` hierarchy, `Person`/`Position`/`Party`, and a `Source`/`Revision` model for citations and edit history) ## Getting started 1. **Database.** You need a Postgres instance. Locally, the quickest path is Docker: ```bash docker run -d --name ethioweb-pg \ -e POSTGRES_PASSWORD=postgres \ -e POSTGRES_DB=ethioweb_registry \ -p 5432:5432 postgres:16-alpine ``` 2. **Environment.** Copy the example and adjust if your DB isn't the default above: ```bash cp .env.example .env ``` 3. **Install, migrate, seed:** ```bash npm install npm run db:migrate npm run db:seed ``` 4. **Run it:** ```bash npm run dev ``` Open localhost (or `/am`). ## Scripts | Command | Does | | -------------------- | --------------------------------------------- | | `npm run dev` | Start the dev server | | `npm run build` | Production build | | `npm run db:migrate` | Apply Prisma migrations (`prisma migrate dev`) | | `npm run db:seed` | Re-run `prisma/seed.ts` | | `npm run db:studio` | Open Prisma Studio to browse the DB | ## Contribution & moderation flow Each person profile has "Request a correction" and "Flag this entry" buttons — public, no sign-in needed — that write to a `Revision` row (see `src/lib/actions.ts`) instead of the record directly. `/en/moderate` lists pending proposals; approving one applies the change to the `Person` row and records the reviewer's …

Languages

Licenses