This is a repository for my MSIT Capstone Project
# CLIS Nigeria
## Cloud-Based Centralized Land Information System
A full-stack web application for Nigerian land title registration, public verification, and dispute management. Built with React, Express, TypeScript, and MongoDB.
---
## Table of Contents
- Overview
- Tech Stack
- Project Structure
- Prerequisites
- Getting Started (Local)
- Environment Variables
- Database
- Running the Application
- Demo Credentials
- Setting Up MFA
- API Reference
- Testing
- Deployment
- Docker Reference
---
## Overview
CLIS Nigeria provides two main surfaces:
**Public portal** — Any citizen can verify a land title by reference number (e.g. `LAGOS-2024-00142`) without an account. Results show registration status, jurisdiction, and any active dispute.
**Admin portal** — Government registrars and administrators log in with email/password + TOTP two-factor authentication to register new titles, look up full title records, flag disputes, manage users, view jurisdiction statistics, and review the immutable audit log.
The interface is fully responsive — it works on desktop, tablet, and mobile, with a collapsible sidebar drawer on small screens.
### Target Users
| User | Role |
| -------------- | -------------------------------------------------------------- |
| General public | Read-only title verification |
| Land registrar | Register titles, look up records, flag disputes |
| Administrator | Full access: titles, disputes, users, jurisdictions, audit log |
---
## Tech Stack
| Layer | Technology |
| ------------ | ------------------------------------------------------------- |
| Frontend | React 18, TypeScript, Vite 5 |
| Routing | TanStack Router v1 |
| Server state | TanStack Query v5 …