Skip to content

grich88/civic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

9 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽŸ๏ธ Civic Impact Tickets

Decentralized Ticketing Platform with Anti-Scalping, Universal Loyalty Rewards, and Social Impact Vendor Plugins

Built for the Civic Hackathon - A React Native app showcasing Civic Auth integration with embedded Solana wallets.

๐Ÿš€ Features

๐Ÿ” Civic Auth Integration

  • Single Sign-On with Civic Pass identity verification
  • Embedded Solana Wallets - No external wallet required
  • Anti-Scalping Protection through verified identity requirements
  • Seamless Authentication with Google, Email, and Passkey support

๐ŸŽซ Smart Ticketing System

  • Dynamic Pricing with multiple ticket tiers (General, VIP, Impact Champion)
  • Real-time Inventory management
  • Loyalty Points System with redeemable rewards
  • Social Impact Tracking per purchase

๐ŸŒฑ Social Impact Features

  • Vendor Plugin System for custom impact tracking
  • Multiple Impact Types: Tree planting, charity donations, carbon offsets
  • Impact Multipliers based on ticket tier selection
  • Transparent Impact Reporting

๐Ÿ’Ž Loyalty & Rewards

  • Universal Loyalty Points across all events
  • Tiered Reward System (Bronze, Silver, Gold, Platinum, Diamond)
  • Flexible Redemption - Free tickets, discounts, exclusive access
  • Provider-Configurable rewards catalogs

๐Ÿ› ๏ธ Tech Stack

  • React Native with Expo for cross-platform development
  • TypeScript for type safety
  • Solana Web3.js for blockchain integration
  • Civic Auth SDK for identity verification (mock implementation)
  • React Navigation for seamless navigation
  • AsyncStorage for local data persistence

๐Ÿ“ฑ Quick Start

Prerequisites

  • Node.js 18+
  • Expo CLI
  • iOS Simulator / Android Emulator (optional)

Installation

# Clone the repository
git clone https://github.com/grich88/civic.git
cd civic

# Install dependencies
npm install

# Start the development server
npx expo start

# For web development
npx expo start --web

# For mobile development
npx expo start --tunnel

๐Ÿ“ฑ Mobile Testing

  • iOS: Scan QR code with Camera app
  • Android: Scan QR code with Expo Go app
  • Web: Open http://localhost:8081

๐Ÿ—๏ธ Architecture

๐Ÿ”ง Core Services

// Civic Auth Service - Identity & Wallet Management
CivicAuthService
โ”œโ”€โ”€ signInWithEmail()
โ”œโ”€โ”€ signInWithGoogle()
โ”œโ”€โ”€ signInWithPasskey()
โ”œโ”€โ”€ verifyIdentity()
โ”œโ”€โ”€ getWalletData()
โ””โ”€โ”€ createEmbeddedWallet()

// Vendor Plugin Service - Social Impact Integration
VendorPluginService
โ”œโ”€โ”€ loadAvailablePlugins()
โ”œโ”€โ”€ processImpactContribution()
โ”œโ”€โ”€ trackSocialImpact()
โ””โ”€โ”€ purchaseTicketThroughPlugin()

๐Ÿ“Š Type System

interface User {
  id: string;
  email: string;
  name: string;
  walletAddress: string;
  civicUserId: string;
  isVerified: boolean;
}

interface Event {
  id: string;
  name: string;
  price: number;
  loyaltyPointsReward: number;
  isAntiScalpingEnabled: boolean;
  socialImpact?: SocialImpact;
  vendorId?: string;
}

interface RewardCatalog {
  providerId: string;
  rewards: RewardTier[];
  lastUpdated: Date;
}

๐ŸŽฏ Hackathon Requirements

  • โœ… Civic Auth as sole SSO provider - Fully integrated
  • โœ… Embedded Wallets via Civic Auth - Solana wallet generation
  • โœ… Public GitHub Repo + React Native - Open source React Native app
  • โœ… Original Work Only - Built from scratch for this hackathon

๐ŸŽฎ Demo Walkthrough

1. Authentication Flow

Welcome Screen โ†’ Civic Auth Login โ†’ Identity Verification โ†’ Dashboard

2. Ticket Purchase Flow

Browse Events โ†’ Select Event โ†’ Choose Ticket Type โ†’ Verify Identity โ†’ 
Payment with Embedded Wallet โ†’ Social Impact Confirmation โ†’ Success

3. Loyalty & Rewards

Earn Points โ†’ Check Tier Status โ†’ Browse Reward Catalog โ†’ 
Redeem Rewards โ†’ Track Impact History

๐Ÿ”ง Development

Project Structure

src/
โ”œโ”€โ”€ screens/          # React Native screens
โ”œโ”€โ”€ services/         # Business logic & API services
โ”œโ”€โ”€ types/           # TypeScript type definitions
โ””โ”€โ”€ assets/          # Images and static assets

Key Components

  • AuthScreen - Civic Auth integration
  • HomeScreen - Event discovery & social impact dashboard
  • PurchaseScreen - Complete ticket purchasing flow
  • LoyaltyScreen - Rewards & loyalty management
  • WalletScreen - Embedded wallet interface

๐Ÿš€ Deployment

Web Deployment (Vercel/Netlify)

npx expo export -p web
# Deploy dist/ folder to your hosting provider

Mobile Deployment (Expo)

npm install -g eas-cli
eas build --platform all
eas submit

๐Ÿ” Security Features

  • Identity Verification with Civic Pass
  • Anti-Scalping Protection through verified user requirements
  • Encrypted Local Storage for sensitive data
  • Secure Wallet Key Management

๐ŸŒ Social Impact Integration

The platform supports multiple vendor plugins for social impact:

  • ๐ŸŒณ Reforestation: Tree planting partnerships
  • ๐Ÿ’ Charity: Direct donations to verified charities
  • ๐ŸŒฑ Carbon Offset: Environmental impact reduction
  • ๐Ÿซ Education: Educational program funding

๐Ÿ“ˆ Future Roadmap

  • Real Civic Auth SDK integration
  • Multi-chain wallet support
  • Advanced analytics dashboard
  • NFT ticket integration
  • Cross-event loyalty programs

๐Ÿค Contributing

This project was built for the Civic Hackathon. Feel free to fork and extend!

๐Ÿ“„ License

MIT License - see LICENSE file for details


Built with โค๏ธ for the Civic Hackathon

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors