Norca
A notarial platform where the parties, their property, the acts and the reports that follow all live in one record.
Norca — Notary Platform
The people, their property, the registers, and what gets reported.
The people
Physical and juridical persons, each described across eight sections: identity and citizenship, personal capacity, civil status, identity documents, address, occupation, statistics, and anti-money-laundering. Civil status alone holds eighty-five fields — birth, parents, children, marriages and their dissolution, death, and every name the person carried before.
The property
Thirteen kinds of movable property and three of immovable. Vehicles, money, claims, shares, succession quotas, livestock — and land, buildings, rooms. Rights, servitudes, pledges, interdictions and the rank of a mortgage are modelled as themselves, not flattened into a note.
The registers and the archive
Four registers a notary keeps: notarial acts, succession procedures, consultations, and dissolution of marriage by consent. Behind them the whole archive — nomenclature, internal inventory, the permanent and the long-term inventories, and the fond, down to the act of destruction. Nothing there is ever deleted; it is marked.
Compliance and reporting
The special SPCSB form for notaries, built as fifty-four columns out of what the act already holds, and the conformity figures counted straight from the register — sixteen of them, computed at once.
The party, the act, and the report that follows.
-
1
The party is recorded once
A notary opens the file of the person in front of them and fills what the law asks. Every change lands in an append-only history: the old value, the new one, who made it, and a timestamp the server sets — not the browser.
-
2
The act enters its register
The type of act decides the rest: which register it belongs to, which report will count it, under which index it will one day be archived. The number is composite — number and sub-number — so several acts can live under one entry.
-
3
The report is written from the register
When the reporting form is due, the data is already there. Fifty-four columns of the SPCSB form assemble from the act; the conformity figures are counted from the register itself.
The act a notary registers is the same data that fills the anti-money-laundering form and the year’s statistics. Nothing is typed twice.
Ordinary tools, kept the same for the whole build.
Interface
A hundred and four screens: the databases, the registers, the archive and the reports, in one application.
- TypeScript
- Next.js 14
- React 18
- Material UI
- Redux Toolkit
Services
Eleven Go services behind a single gateway, talking to each other over typed contracts rather than loose JSON.
- Go
- gRPC
- Protocol Buffers
- Gin
Data
Documents for the records, an in-memory store for the sessions, object storage for the files a notary attaches to an act.
- MongoDB
- Redis
- MinIO
Delivery
Every service builds into its own image, and the API describes itself, so the gateway and the front end never drift apart.
- Docker
- GitLab CI
- Swagger
Where the platform gets difficult, and none of it is the paperwork.
One person, several national IDs
Identity does not sit on the person; it sits on the citizenship. The same human being holds one record per citizenship, each with its own national ID and its own spelling of the name, because passports transliterate differently. The uniqueness rule is a partial compound index on national ID and citizenship — partial, so that a stateless person is not blocked by a constraint written for someone else.
A cadastral number that builds its own hierarchy
A Moldovan cadastral number carries the hierarchy in its segments: two for a parcel, three for a building, four for a room. Register a room whose building was never entered and the platform reads the number, sees what is missing, and creates the parcel and the building in the same indivisible write. The hierarchy cannot be broken, because it cannot be half-written.
An audit trail nobody wrote twice
One engine takes whatever changed, walks the structure itself — nested objects, arrays of objects, index by index — and emits one history entry per field, with the old value and the new. It feeds one hundred and eighty-seven write points across the platform without a line of per-field code, and it runs alongside the request rather than in it, so the audit never slows the notary down.
Delivered, and counted.
Two years and eight months, and 4,894 commits. Twenty-three people touched it; twelve carried it.
Built, delivered — and in use in notary offices.
Have a project idea? Write down a quote!
Got a project? Drop us a line if you want to work together on something exciting. Or do you need our help? Feel free to contact us.