Skip to content

bashirk/kodata

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

KoData - DataDAO Initiative Website

A modern, responsive community website for KoData's DataDAO initiative with full web3 backend integration, built with React, TypeScript, Tailwind CSS, and blockchain services.

🌟 Overview

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.

πŸš€ Features

Core Functionality

  • 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

Design Elements

  • 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

Sections

  1. Hero Section: Main value proposition with statistics
  2. About: Program details and features
  3. Success Stories: Community testimonials
  4. DataDAO: Reward system explanation
  5. Partners: Current and potential partnerships
  6. Contact: Multiple contact options

πŸ›  Tech Stack

Frontend

  • Framework: React 18
  • Language: JavaScript (JSX)
  • Styling: Tailwind CSS
  • UI Components: shadcn/ui
  • Icons: Lucide React
  • Build Tool: Vite
  • Package Manager: pnpm

Backend

  • 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

πŸ“¦ Quick Start

Option 1: Docker (Recommended)

# 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

Option 2: Local Development

# 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 dev

Manual Setup

For detailed local setup instructions, see LOCAL_SETUP.md

πŸ— Project Structure

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

🎨 Components

Navigation

  • Responsive navigation bar with mobile menu
  • Smooth scroll-to-section functionality
  • Sticky positioning with backdrop blur

AnimatedCounter

  • Intersection observer-based animation
  • Easing functions for smooth counting
  • Support for different number formats

DataDAOModal

  • Multi-step contribution process
  • File upload functionality
  • Form validation and submission states

ContactForm

  • Professional contact form
  • Multiple inquiry types
  • Success/error state handling

FloatingActionButton

  • Scroll-triggered visibility
  • Quick access to key actions
  • Smooth animations

🌍 DataDAO Features

The website showcases KoData's DataDAO (Decentralized Autonomous Organization) with full web3 integration:

Blockchain Integration

  • Starknet: Payment processing and task management
  • Lisk: Reputation system and governance
  • Cross-Chain: Automatic reputation updates via relayer

Wallet Support

  • Starknet Wallets: Xverse, Argent, Braavos
  • Lisk Wallets: Lisk Desktop, Web Wallet
  • Authentication: Signature-based login system

Reward System

  1. Data Submission (Up to 100 MAD tokens)

    • Upload new datasets
    • Support multiple data types
    • Community library contribution
  2. Data Labeling (Up to 50 MAD tokens)

    • Improve existing datasets
    • Accurate label annotation
    • Quality enhancement
  3. Quality Validation (Up to 75 MAD tokens)

    • Review submissions
    • Ensure high standards
    • Community moderation

API Endpoints

  • POST /api/auth/challenge - Get authentication challenge
  • POST /api/auth/login - Login with wallet signature
  • POST /api/submissions - Create data submission
  • GET /api/submissions - List user submissions
  • POST /api/admin/approve-submission/:id - Approve submission

🀝 Partnership Opportunities

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

πŸ“± Responsive Design

The website is fully responsive with breakpoints for:

  • Mobile: 320px - 768px
  • Tablet: 768px - 1024px
  • Desktop: 1024px+

🎯 Target Audience

  1. Primary: Secondary school students in underserved African communities
  2. Secondary: Developers and enterprises needing AI training data
  3. Tertiary: Potential partners and sponsors
  4. Quaternary: Data contributors interested in earning MAD tokens

πŸš€ Deployment

Development

pnpm run dev

Production Build

pnpm run build

Preview Production Build

pnpm run preview

πŸ“ˆ Performance Features

  • Lazy Loading: Images and components load on demand
  • Code Splitting: Optimized bundle sizes
  • Smooth Animations: 60fps transitions
  • Optimized Images: Proper sizing and formats

πŸ”§ Customization

Colors

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

Content

All content is easily editable in the main App.jsx file:

  • Statistics and numbers
  • Program descriptions
  • Partner information
  • Testimonials

Styling

Tailwind CSS classes can be modified throughout components for:

  • Layout adjustments
  • Color schemes
  • Typography
  • Spacing

πŸ“ž Contact Information

  • Email: hello@kodata.org
  • Location: Lagos, Nigeria
  • Community: Discord (link to be added)

πŸ“„ License

This project is created for KoData's DataDAO initiative. All rights reserved.


Built with ❀️ for the African tech community

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published