A modern, responsive community website for KoData's DataDAO initiative with full web3 backend integration, built with React, TypeScript, Tailwind CSS, and blockchain services.
KoData is a youth-focused data literacy and context engineering initiative that trains secondary school students in underserved African communities on big data and Web3 skills, while building an open local dataset library for developers and enterprise AI training.
- Responsive Design: Optimized for desktop, tablet, and mobile devices
- Web3 Integration: Full blockchain backend with Starknet and Lisk support
- Wallet Authentication: Connect Starknet (Xverse) and Lisk wallets
- Interactive DataDAO Modal: Multi-step form for data contribution with real submissions
- Cross-Chain Reputation: Earn reputation on Lisk for approved submissions
- Animated Statistics: Eye-catching counters with intersection observer
- Contact Form: Professional contact form with validation
- Smooth Navigation: Scroll-to-section navigation with mobile menu
- Floating Action Button: Quick access to DataDAO participation
- Modern UI: Clean, professional design with gradient accents
- Hover Effects: Interactive elements with smooth transitions
- Loading Animations: Staggered entrance animations
- Brand Colors: Blue and yellow gradient theme
- Typography: Clear hierarchy with proper contrast
- Hero Section: Main value proposition with statistics
- About: Program details and features
- Success Stories: Community testimonials
- DataDAO: Reward system explanation
- Partners: Current and potential partnerships
- Contact: Multiple contact options
- Framework: React 18
- Language: JavaScript (JSX)
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- Icons: Lucide React
- Build Tool: Vite
- Package Manager: pnpm
- Runtime: Node.js 20+
- Framework: Express.js
- Language: TypeScript
- Database: PostgreSQL with Prisma ORM
- Cache: Redis (BullMQ)
- Blockchain: Starknet.js + Lisk SDK
- Authentication: Wallet signature verification
# Clone and setup
git clone <repository-url>
cd kodata-website
# Copy environment files
cp backend/env.example backend/.env
cp env.example .env.local
# Edit backend/.env with your blockchain credentials
# STARKNET_RPC_URL, STARKNET_ACCOUNT_ADDRESS, etc.
# Start all services
docker-compose up -d
# Initialize database
docker-compose exec backend pnpm run db:push
# Access: Frontend http://localhost:5173, Backend http://localhost:3001# Clone repository
git clone <repository-url>
cd kodata-website
# Run setup script (macOS/Linux)
./setup-local.sh
# Or run setup script (Windows)
setup-local.bat
# Start development servers
# Terminal 1: cd backend && pnpm run dev
# Terminal 2: pnpm run devFor detailed local setup instructions, see LOCAL_SETUP.md
kodata-website/
βββ public/ # Static assets
βββ src/
β βββ components/ # Reusable components
β β βββ ui/ # shadcn/ui components
β β βββ Navigation.jsx
β β βββ AnimatedCounter.jsx
β β βββ FloatingActionButton.jsx
β β βββ ContactForm.jsx
β β βββ DataDAOModal.jsx
β βββ contexts/ # React contexts
β β βββ AuthContext.jsx
β βββ lib/ # Utility libraries
β β βββ apiService.js
β β βββ walletService.js
β βββ App.jsx # Main application component
β βββ App.css # Global styles
β βββ main.jsx # Application entry point
βββ backend/ # Backend API server
β βββ src/
β β βββ lib/ # Service libraries
β β β βββ authService.ts
β β β βββ liskService.ts
β β β βββ starknetService.ts
β β β βββ relayer.ts
β β βββ index.ts # Express server
β βββ prisma/ # Database schema
β β βββ schema.prisma
β βββ package.json # Backend dependencies
βββ docker-compose.yml # Docker services
βββ Dockerfile.frontend # Frontend Docker image
βββ Dockerfile.backend # Backend Docker image
βββ setup-local.sh # Local setup script (macOS/Linux)
βββ setup-local.bat # Local setup script (Windows)
βββ LOCAL_SETUP.md # Detailed local setup guide
βββ SETUP.md # Docker setup guide
βββ index.html # HTML template
βββ package.json # Frontend dependencies
βββ README.md # Project documentation
- Responsive navigation bar with mobile menu
- Smooth scroll-to-section functionality
- Sticky positioning with backdrop blur
- Intersection observer-based animation
- Easing functions for smooth counting
- Support for different number formats
- Multi-step contribution process
- File upload functionality
- Form validation and submission states
- Professional contact form
- Multiple inquiry types
- Success/error state handling
- Scroll-triggered visibility
- Quick access to key actions
- Smooth animations
The website showcases KoData's DataDAO (Decentralized Autonomous Organization) with full web3 integration:
- Starknet: Payment processing and task management
- Lisk: Reputation system and governance
- Cross-Chain: Automatic reputation updates via relayer
- Starknet Wallets: Xverse, Argent, Braavos
- Lisk Wallets: Lisk Desktop, Web Wallet
- Authentication: Signature-based login system
-
Data Submission (Up to 100 MAD tokens)
- Upload new datasets
- Support multiple data types
- Community library contribution
-
Data Labeling (Up to 50 MAD tokens)
- Improve existing datasets
- Accurate label annotation
- Quality enhancement
-
Quality Validation (Up to 75 MAD tokens)
- Review submissions
- Ensure high standards
- Community moderation
POST /api/auth/challenge- Get authentication challengePOST /api/auth/login- Login with wallet signaturePOST /api/submissions- Create data submissionGET /api/submissions- List user submissionsPOST /api/admin/approve-submission/:id- Approve submission
The website is designed to attract potential partners and sponsors, particularly:
- ETHGlobal: Event sponsorship and collaboration
- Blockchain Organizations: Technology partnerships
- Educational Institutions: Program expansion
- Tech Companies: Funding and resources
The website is fully responsive with breakpoints for:
- Mobile: 320px - 768px
- Tablet: 768px - 1024px
- Desktop: 1024px+
- Primary: Secondary school students in underserved African communities
- Secondary: Developers and enterprises needing AI training data
- Tertiary: Potential partners and sponsors
- Quaternary: Data contributors interested in earning MAD tokens
pnpm run devpnpm run buildpnpm run preview- Lazy Loading: Images and components load on demand
- Code Splitting: Optimized bundle sizes
- Smooth Animations: 60fps transitions
- Optimized Images: Proper sizing and formats
The website uses a blue and yellow gradient theme that can be customized in App.css:
- Primary: Blue (#2563eb)
- Secondary: Yellow (#eab308)
- Accent: Various gradients
All content is easily editable in the main App.jsx file:
- Statistics and numbers
- Program descriptions
- Partner information
- Testimonials
Tailwind CSS classes can be modified throughout components for:
- Layout adjustments
- Color schemes
- Typography
- Spacing
- Email: hello@kodata.org
- Location: Lagos, Nigeria
- Community: Discord (link to be added)
This project is created for KoData's DataDAO initiative. All rights reserved.
Built with β€οΈ for the African tech community