How ankit0514/real_estate-web3 works
This is a real-estate dApp: users browse property listings and maps, inspect property details, and access marketplace, dashboard, and wallet views. The backend exposes property, marketplace, escrow, rent, document, and wallet APIs; sampled controllers read blockchain state and format results. The README describes only a minimal Hardhat setup, so the application architecture is drawn from the tree and sampled source. Several feature controllers and frontend data wiring were not sampled; their internal behavior and connections are therefore left unspecified.
Main entry points: App.jsx Web app · server.cjs Express server · blockchain.cjs Blockchain access · property.controller.cjs Property service
Components 26
Web application
- Web app
frontend/src/App.jsx - Property views
frontend/src/pages/Properties.jsx - Property detail
frontend/src/pages/PropertyDetail.jsx - Marketplace view
frontend/src/pages/Marketplace.jsx - India map
frontend/src/pages/IndiaMap.jsx - Dashboard
frontend/src/pages/Dashboard.jsx - Wallet context
frontend/src/context/WalletContext.jsx - API client
frontend/src/utils/api.js
API routing
- Express server
backend/server.cjs - Property routes
backend/routes/property.routes.cjs - Marketplace routes
backend/routes/marketplace.routes.cjs - Escrow routes
backend/routes/escrow.routes.cjs - Rent routes
backend/routes/rent.routes.cjs - Document routes
backend/routes/document.routes.cjs - Wallet routes
backend/routes/wallet.routes.cjs
Property services
- Property service
backend/controllers/property.controller.cjs - Marketplace service
backend/controllers/marketplace.controller.cjs - Blockchain access
backend/utils/blockchain.cjs
Transactions and tenancy
- Escrow service
backend/controllers/escrow.controller.cjs - Rent service
backend/controllers/rent.controller.cjs
Wallet and documents
- Document service
backend/controllers/document.controller.cjs - Wallet service
backend/controllers/wallet.controller.cjs
Other components
- User
- HTTP client
- Blockchain
- Metadata gateway
Connections 27
- User → Web app: uses
- Web app → Property views: routes
- Web app → Property detail: routes
- Web app → Marketplace view: routes
- Web app → India map: routes
- Web app → Dashboard: routes
- Web app → Wallet context: provides
- HTTP client → Express server: requests
- Express server → Property routes: mounts
- Express server → Marketplace routes: mounts
- Express server → Escrow routes: mounts
- Express server → Rent routes: mounts
- Express server → Document routes: mounts
- Express server → Wallet routes: mounts
- Property routes → Property service: dispatches
- Marketplace routes → Marketplace service: dispatches
- Escrow routes → Escrow service: dispatches
- Rent routes → Rent service: dispatches
- Document routes → Document service: dispatches
- Wallet routes → Wallet service: dispatches
- Property service → Blockchain access: reads
- Marketplace service → Blockchain access: reads
- Rent service → Blockchain access: reads
- Wallet service → Blockchain access: reads
- Blockchain access → Blockchain: queries
- Property service → Metadata gateway: fetches metadata
- Marketplace service → Metadata gateway: fetches metadata