Logo Lanfrica

Ihimbru-K/landverity

Domain:

digital infrastructure

Record type:

software
Creator:
Ihi
Host:
Informal Land Documentation & Verification Platform for Central African countries # 🌍 LandVault **Informal Land Documentation & Verification Platform** Bamenda, Cameroon | MVP v1.0 --- ## What It Does LandVault enables field agents to: 1. Register informal land plots with GPS coordinates 2. Capture photos and witness statements 3. Generate a Property Verification Certificate (PDF) 4. Anchor the certificate hash on Polygon blockchain β€” permanent, tamper-resistant proof --- ## Tech Stack | Layer | Technology | |-------|-----------| | Mobile | Flutter (Android-first) | | Auth | Firebase Auth | | Backend | FastAPI + PostgreSQL (Render) | | Storage | Appwrite | | PDF | ReportLab | | Blockchain | Polygon Amoy Testnet + Solidity | --- ## Project Structure ``` landvault/ β”œβ”€β”€ contracts/ # Solidity smart contract + Hardhat β”‚ β”œβ”€β”€ LandVaultRegistry.sol β”‚ β”œβ”€β”€ hardhat.config.js β”‚ └── scripts/deploy.js β”œβ”€β”€ backend/ # FastAPI β”‚ β”œβ”€β”€ main.py β”‚ β”œβ”€β”€ models.py β”‚ β”œβ”€β”€ auth.py β”‚ β”œβ”€β”€ routes/ β”‚ └── services/ └── mobile/ # Flutter app └── lib/ β”œβ”€β”€ main.dart β”œβ”€β”€ core/ └── screens/ ``` --- ## Setup Guide ### 1. Smart Contract ```bash cd contracts npm install cp .env.example .env # Add your PRIVATE_KEY to .env npx hardhat test # run tests npx hardhat run scripts/deploy.js --network amoy # deploy # Copy deployed address to backend .env as CONTRACT_ADDRESS ``` ### 2. Backend ```bash cd backend python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt cp .env.example .env # Fill in all .env values uvicorn main:app --reload # runs on localhost # API docs: localhost ``` **Required .env values:** - `DATABASE_URL` β€” PostgreSQL connection string - `FIREBASE_SERVICE_ACCOUNT_PATH` β€” path to Firebase service account JSON - `APPWRITE_*` β€” from your Appwrite project console - `AGENT_PRIVATE_KEY` β€” MetaMask wallet private key (deployer wallet) - `CONTRACT_ADDRESS` β€” from deploy script output ### 3. Flutt …