Verified Human Reviews for Local Businesses
A modern, mobile-first review platform powered by World ID verification, ensuring every review comes from a real human. Discover trusted local businesses in Lafayette & West Lafayette with authentic, bot-free reviews.
- World ID Integration: Every review is verified through Worldcoin's World ID system
- Zero Bot Reviews: Cryptographic proof ensures only real humans can leave reviews
- Multiple Reviews: Users can update their opinions with additional reviews over time
- 68+ Local Businesses: Comprehensive database of Lafayette & West Lafayette establishments
- Smart Categories: Organized by Food & Drink, Retail, Services, Health, Fitness, Beauty, and Professional
- Auto-Generated Images: Businesses automatically get high-quality images from Unsplash API
- World App Mini App: Fully integrated mobile experience
- Responsive UI: Optimized for mobile devices with iOS Safari compatibility
- Animated Landing Page: Eye-catching entrance with gradient animations and effects
- Real-time Search: Find businesses by name, category, subcategory, or address
- Category Filtering: Browse by business type
- Featured Businesses: Curated top-rated local spots (excluding hospitals)
- Intelligent Sorting: Highest-rated businesses prioritized
- Next.js 16.2.2 - React framework with App Router
- React 18 - Modern UI library with hooks
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first styling
- Lucide React - Beautiful icons
- styled-jsx - Component-scoped CSS
- SQLite - Lightweight, serverless database
- Prisma - Type-safe ORM and query builder
- Next.js API Routes - Serverless API endpoints
- World ID - Human verification by Worldcoin
- MiniKit - World App integration
- Cryptographic Nullifiers - Privacy-preserving identity
- Unsplash API - Automatic business imagery
- World ID Developer Portal - Identity verification
- Node.js 18+ and npm
- World ID App Credentials (for production)
- Unsplash API Key (optional, for image fetching)
git clone https://github.com/yourusername/authentica.git
cd authenticanpm installCreate a .env.local file in the root directory:
# Database
DATABASE_URL="file:./dev.db"
# World ID Configuration
NEXT_PUBLIC_WLD_APP_ID="your_world_app_id"
NEXT_PUBLIC_WLD_ACTION="your_action_name"
# Unsplash API (Optional)
UNSPLASH_ACCESS_KEY="your_unsplash_access_key"# Generate Prisma client
npx prisma generate
# Initialize database
npx prisma db push
# Seed with sample businesses
npx tsx prisma/seed.tsnpm run devVisit http://localhost:3000 to see your application!
authentica/
βββ src/
β βββ app/ # Next.js App Router pages
β β βββ api/ # API endpoints
β β β βββ businesses/ # Business-related APIs
β β β βββ reviews/ # Review creation API
β β β βββ sign/ # World ID signing
β β β βββ verify/ # World ID verification
β β βββ browse/ # Business browse page
β β βββ businesses/[id]/ # Business detail pages
β β βββ my-reviews/ # User profile & reviews
β β βββ page.tsx # Animated landing page
β βββ components/ # React components
β β βββ BusinessCard.tsx # Business listing card
β β βββ Header.tsx # Navigation header (with animations)
β β βββ ReviewForm.tsx # World ID review form
β β βββ StarRating.tsx # Rating component
β βββ data/ # Static data
β β βββ businesses.ts # Business listings & categories
β βββ lib/ # Utilities
β βββ prisma.ts # Database client
βββ prisma/ # Database schema & migrations
β βββ schema.prisma # Database models
β βββ seed.ts # Sample data (68 businesses)
βββ public/ # Static assets
- Land: Experience the animated landing page
- Discover: Browse local businesses by category or search
- Verify: Connect with World ID for human verification
- Review: Leave authentic reviews with ratings and text
- Track: View your review history in your profile
- Add Businesses: Update
src/data/businesses.tswith new listings - Customize Categories: Modify business categories and subcategories
- Extend API: Add new endpoints in
src/app/api/ - Style Changes: Update Tailwind classes for custom designs
- Animated gradient background with floating orbs
- Mouse-following spotlight effect
- Shimming text animation on "Authentica" title
- Minimal design with just title and "ENTER" button
- Featured businesses section (excludes hospitals)
- Real-time search with debouncing
- Category filtering pills
- Responsive business cards with auto-generated images
- Consistent card styling matching dashboard
- Category β’ Subcategory β’ Neighborhood format
- Review submission with World ID verification
- No "already reviewed" restrictions
- Review history and statistics
- Account settings and preferences
- Saved businesses and drafts sections
# Install Vercel CLI
npm i -g vercel
# Deploy
vercel --prodNEXT_PUBLIC_WLD_APP_ID: World ID app identifierNEXT_PUBLIC_WLD_ACTION: World ID action nameDATABASE_URL: Production database connectionUNSPLASH_ACCESS_KEY: Image API access
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow TypeScript best practices
- Use Tailwind CSS for styling
- Ensure mobile responsiveness
- Test World ID integration
- Update documentation
This project is licensed under the MIT License - see the LICENSE file for details.
- π Issues: GitHub Issues
- π§ Email: support@authentica.app
- π¬ Discord: Join our community
- π World ID Docs: docs.worldcoin.org
- βοΈ Next.js Docs: nextjs.org/docs
- ποΈ Prisma Docs: prisma.io/docs
- Worldcoin - For providing human-proof identity verification
- Unsplash - For high-quality business imagery
- Purdue University - Local business community inspiration
- Open Source Community - For the amazing tools and libraries
Built with β€οΈ for authentic local discovery