This is a comprehensive blockchain-based land registry management system that leverages distributed ledger technology to provide secure, transparent, and efficient property ownership verification and transfer. The system addresses critical challenges in traditional land registry systems, including fraud prevention, transparency issues, and inefficient record-keeping processes.
- Frontend: React 18.3.1 with TypeScript for type safety and enhanced developer experience
- Build Tool: Vite for fast development and optimized production builds
- Styling: Tailwind CSS with shadcn/ui component library for responsive design
- State Management: React Context API for global state and authentication
- Data Fetching: TanStack Query (React Query) v5 for efficient data fetching and caching
- Blockchain Integration: Ethereum blockchain using ethers.js v5
- Backend & Authentication: Supabase for database, authentication, and storage
- UI Enhancements: Sonner for toast notifications, Lucide React for iconography
The system follows a three-tier architecture:
- Presentation Layer: React-based UI components organized in a modular pattern
- Application Layer: React hooks and context providers for business logic
- Data Layer:
- Supabase for relational data storage and user authentication
- Ethereum blockchain for immutable property records and transactions
We implemented a custom authentication system using Supabase that includes:
- Session persistence using Supabase Auth
- Role-based access control (owner vs. official)
- Protected routes with authentication verification
- Session recovery mechanisms
-
users:
- Stores user profile information
- Connected to Supabase Auth system
- Contains roles and wallet information
-
properties:
- Stores property information (title, location, size, price)
- Contains document hashes that link to blockchain records
- Includes geographical coordinates for map visualization
-
transactions:
- Records all property transfers and registrations
- Stores blockchain transaction details (tx_hash, block_number)
- Maintains property ownership history
The system utilizes Ethereum smart contracts written in Solidity that handle:
- Property Registration: Only verified government officials can register properties
- Ownership Transfer: Transfer of property between parties with validation
- Document Verification: Validation of property documents using cryptographic hashes
- History Tracking: Immutable record of all property transactions
We implemented two levels of access control:
- ProtectedRoute: Ensures the user is authenticated before accessing protected pages
- RoleBasedRoute: Restricts access based on user roles (owner vs. official)
Property registration and transfer workflows include:
- Document validation and hashing
- Blockchain transaction submission and confirmation
- Database synchronization after successful blockchain transactions
- Role-based access control for official vs. owner actions
Decision: Custom Supabase authentication with session persistence Alternatives Considered:
- Firebase Authentication
- Web3 Authentication
- Auth0
Rationale: Supabase provided the best balance between ease of implementation, security features, and blockchain integration capabilities.
Decision: Ethereum with future compatibility for Layer 2 solutions Alternatives Considered:
- Hyperledger Fabric
- Solana
- Polygon
Rationale: Ethereum provided the most robust development environment, tooling support, and community resources.
Our interdisciplinary team combines expertise across blockchain, web development, AI, and security:
- Rohan Gautam (Project Manager): Project architecture and workflow management
- Riya Gupta (Blockchain Architect): Smart contract infrastructure design
- Shashidhar Kittur (Backend Lead): Supabase integration and database design
- Garvit (Frontend Lead): Responsive UI and Web3 interface development
- Uday Upadhyay (AI & Blockchain Integration Specialist): Chatbot and AI verification systems
- Shashwat Balodhi (AI Lead): Document analysis and machine learning models
- Saiyed Alwaz Hussain (Blockchain Security Specialist): Smart contract audits and security protocols
- Chinmay Bhoyar (Blockchain Development Engineer): Smart contract optimization
- ✅ User authentication with role-based access
- ✅ Property registration by government officials
- ✅ Property details visualization with map integration
- ✅ Transaction history tracking
- ✅ Blockchain integration for property records
⚠️ Authentication flow has edge cases in session recovery⚠️ Blockchain transaction monitoring needs improved error recovery⚠️ Map visualization requires performance optimization
- Implement property mortgage functionality
- Add offline signing capabilities for property transfers
- Enhance document verification with AI-based forgery detection
- Deploy to Polygon mainnet for reduced gas costs
- Implement multi-signature approval workflow
- Integrate with government land record APIs
- Implement zk-SNARK privacy features
- Develop mobile applications for field verification
- Create a public API for third-party integration
# Install dependencies
npm install
# Start development server
npm run dev# Build for production
npm run build
# Preview production build
npm run previewRequired environment variables:
VITE_SUPABASE_URL: Supabase project URLVITE_SUPABASE_ANON_KEY: Supabase project anon keyVITE_ETHEREUM_NETWORK: Ethereum network to connect toVITE_CONTRACT_ADDRESS: Deployed smart contract address
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
- Follow TypeScript best practices with strict typing
- Use functional components with hooks
- Write unit tests for all business logic
- Follow component-focused architecture
- Use Tailwind utility classes for styling
This project is under the MIT License.