ElimuChain follows a modern web3 architecture combining traditional web technologies with blockchain capabilities.
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ React Frontend│ │ Supabase │ │ Ethereum │
│ (TypeScript) │────▶│ (PostgreSQL) │ │ Blockchain │
└────────┬────────┘ └────────┬────────┘ └────────┬────────┘
│ │ │
│ │ │
User Interface Data Storage Smart Contract
│ │ │
│ │ │
Authentication Row Level Security Credential Verification
-
Pages: React components for different views
- Landing Page
- Get Started Flow
- Dashboard
- Credential Management
-
State Management: React Context and Hooks
-
Styling: Tailwind CSS
-
Icons: Lucide React
- Authentication: Supabase Auth
- Database: PostgreSQL with RLS
- Tables:
- users
- credentials
- verifications
- Smart Contract: ElimuChain.sol
- Features:
- Credential Issuance
- Verification
- Institution Management
-
User Registration:
Frontend → Supabase Auth → Database
-
Credential Issuance:
Frontend → Smart Contract → Blockchain → Supabase → Database
-
Verification:
Frontend → Smart Contract → Verification Result → Database Update
- Supabase handles user authentication
- JWT tokens for API requests
- MetaMask for blockchain transactions
- Row Level Security in Supabase
- Smart contract modifiers
- Role-based access control
- Credential hashes on blockchain
- Encrypted data in Supabase
- Client-side encryption where necessary
- Optimistic UI updates
- Caching strategies
- Efficient blockchain interactions
- Indexed database queries
- Layer 2 scaling solutions
- IPFS integration
- Multi-chain support
- Advanced analytics