Skip to content

About

Plot-land society portal: live layout map, site-progress feed, append-only society ledger and SLA-tracked owner queries. Go + Postgres + React, running free.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Plotting Society

Plot owners rarely live near the land they bought. Every question — is my plot still clear, where did the maintenance money go, when does the road get tarred — becomes a phone call to the builder's sales desk. This replaces that desk.

Built against Sandesh Nagari 7: a real 823-plot, 58-acre NMRDA-sanctioned project at Rui & Banwadi, on the Wardha Road–MIHAN corridor, Nagpur.

Live demo → · Go + Postgres + React · runs at ₹0/month

Sign in as office@shivrudragroup.in (builder) or rohit.deshmukh@example.com (owner), password sandesh-demo-2026 — or just browse /explore, no account needed.

Layout map


Three levels of access

Sees Account
Guest The layout, what's available and at what price, site progress — and can leave an enquiry None
Owner Their plot, dues, documents, the society ledger, their own query threads Yes
Builder All of it, plus the admin portal Yes

Owners never self-register: the site office adds the plot and invites the owner, and the invite binds that person to that plot on first sign-in. Auth is Argon2id with short-lived JWTs and single-use refresh tokens — no third-party auth, no per-user cost.

Every guest enquiry lands in the builder's leads board with the plot they were looking at. That's the reason a builder shares the public link at all.


Owner

Their plot — the bill shows its working Society fund — append-only
My plot Society fund
Site progress Queries, with a visible SLA clock
Site progress Queries

Builder

Dashboard Leads from guests
Dashboard Leads

Stack

Go 1.23 on the standard library router · Postgres 16 · React + TypeScript + Tailwind · S3-compatible object storage.

Four Go dependencies — pgx, golang-jwt, uuid, x/crypto. SigV4 request signing is ~100 lines against the stdlib rather than the AWS SDK.

93.8% test coverage, store and handler layers against a real Postgres — a mock will happily agree a query filters by builder_id when it doesn't. They caught a route conflict that would have stopped the server booting, and a security pass caught a cross-builder data leak — both written up here.


Three decisions

The fund ledger is append-only. A correction writes a reversal row linked to the original. When an owner disputes a figure, the builder shows the history rather than a number that quietly changed.

The layout map carries no owner details. Names and numbers appear only on a plot's own page, to that plot's owner and the builder.

A bill snapshots what it was computed from — rate, area, sector. Maintenance is a one-time charge priced per square foot and set per sector, so changing a rate never re-prices an invoice already issued.


Run it

make up && make seed && make run     # API on :8080
cd web && npm install && npm run dev # UI on :5173

make seed loads the full project and prints demo logins.

Architecture — module pattern, and an honest list of what will need work as this grows. Deploy it free — Supabase + Render + Cloudflare, no card.

About

Plot-land society portal: live layout map, site-progress feed, append-only society ledger and SLA-tracked owner queries. Go + Postgres + React, running free.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages