valknarness b8866bf588 feat: docker
2025-10-25 23:24:49 +02:00
2025-10-25 23:24:49 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 23:24:49 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 23:24:49 +02:00
2025-10-25 23:24:49 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 23:24:49 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 16:09:02 +02:00
2025-10-25 16:09:02 +02:00

AWESOME WEB - Next-Level Ground-Breaking AAA Webapp

A stunning, feature-rich web application for exploring and discovering awesome lists from GitHub

🚀 Built with: Next.js 18 • Tailwind CSS 4 • shadcn/ui • SQLite3 • Web Workers • PWA

🎨 Design Philosophy

This webapp perfectly matches the beautiful purple/pink/gold theme from the Awesome CLI:

  • 💜 Awesome Purple: #DA22FF
  • 💗 Awesome Pink: #FF69B4
  • 💛 Awesome Gold: #FFD700

🌟 Features Implemented

Core Infrastructure

  1. Next.js 18 Setup

    • App router with TypeScript
    • Optimized build configuration
    • PWA support ready
    • Image optimization
  2. Tailwind CSS 4 Custom Theme

    • Matching CLI color scheme
    • Custom gradient utilities
    • Beautiful button styles
    • Smooth animations
    • Custom scrollbar
    • Typography plugin
  3. GitHub Actions Workflow

    • Automated database building
    • Runs every 6 hours
    • Manual trigger support
    • Artifact upload
    • Release creation
    • Webhook integration
  4. Web Worker System

    • Smart polling with exponential backoff
    • Cache invalidation
    • Client notification system
    • Efficient resource usage
    • Background updates
  5. API Routes

    • /api/db-version - Database version endpoint
    • /api/webhook - GitHub Actions webhook handler
    • Signature verification
    • Metadata management

🎯 Architecture

awesome-web/
├── .github/workflows/
│   └── db.yml              ✅ Automated DB building
├── app/
│   ├── layout.tsx          ✅ Root layout with theme
│   ├── globals.css         ✅ Custom awesome styles
│   ├── api/
│   │   ├── db-version/     ✅ Version checking
│   │   └── webhook/        ✅ Update notifications
│   ├── page.tsx            🔨 Landing hero (to build)
│   ├── list/[id]/          🔨 List index page
│   ├── readme/[...]/       🔨 README viewer
│   ├── legal/              🔨 Legal pages
│   └── not-found.tsx       🔨 404 with easter egg
├── components/
│   ├── ui/                 🔨 shadcn components
│   ├── layout/
│   │   ├── sidebar.tsx     🔨 Tree navigation
│   │   └── command-menu.tsx🔨 Search command
│   ├── search/
│   │   ├── facets.tsx      🔨 Search facets
│   │   └── filters.tsx     🔨 Advanced filters
│   └── providers/
│       └── worker-provider.tsx 🔨 Worker integration
├── public/
│   ├── worker.js           ✅ Service worker
│   ├── manifest.json       ✅ PWA manifest
│   └── icons/              🔨 Generate from logo
├── scripts/
│   └── build-db.js         ✅ Database builder
├── tailwind.config.ts      ✅ Custom theme
└── next.config.js          ✅ PWA & optimization

🚀 Getting Started

Installation

cd /home/valknar/Projects/node.js/awesome-web
npm install

Development

npm run dev

Open http://localhost:3000

Build

npm run build
npm start

📋 Next Steps to Complete

1. Landing Page 🔨

  • Hero section with gradient buttons
  • Feature showcase
  • Statistics display
  • Call-to-action sections

2. Command Search (kbd bindings) 🔨

  • shadcn Command component
  • Full-text search integration
  • Search facets (language, stars, topics)
  • Sorting options
  • Live preview
  • Pagination

3. Sidebar Navigation 🔨

  • Tree structure of awesome lists
  • Live search/filter
  • Collapsible categories
  • Active state indicators

4. README Viewer 🔨

  • State-of-the-art markdown rendering
  • Syntax highlighting
  • Sticky action header
  • Share functionality
  • Star button
  • Original link

5. UI Components 🔨

  • Install shadcn/ui components
  • Create custom components
  • Toast notifications
  • Loading states
  • Error boundaries

6. Logo & Assets 🔨

  • Adapt sindresorhus/awesome logo
  • Generate favicon
  • Create PWA icons (all sizes)
  • Header logo
  • OG image
  • Legal page
  • Disclaimer
  • Imprint
  • Beautiful styling

8. 404 Page with Easter Egg 🔨

  • Custom 404 design
  • AWESOME easter egg
  • Interactive elements
  • Animated graphics

9. Database Integration 🔨

  • SQLite connection
  • Search implementation
  • Faceted search
  • Results pagination
  • Error handling

10. Worker Provider 🔨

  • React context for worker
  • Update notifications
  • Cache management
  • Toast integration

🎨 Theme Showcase

Colors

/* Primary Purple */
--awesome-purple: #DA22FF;
--awesome-purple-light: #E855FF;
--awesome-purple-dark: #9733EE;

/* Secondary Pink */
--awesome-pink: #FF69B4;
--awesome-pink-light: #FFB6D9;
--awesome-pink-dark: #FF1493;

/* Accent Gold */
--awesome-gold: #FFD700;
--awesome-gold-light: #FFE44D;
--awesome-gold-dark: #FFC700;

Gradients

/* Main Gradient */
background: linear-gradient(135deg, #DA22FF 0%, #9733EE 50%, #FFD700 100%);

/* Pink Gradient */
background: linear-gradient(135deg, #FF1493 0%, #DA22FF 50%, #9733EE 100%);

/* Gold Gradient */
background: linear-gradient(135deg, #FFD700 0%, #FF69B4 50%, #FF1493 100%);

Components

  • Buttons: Gradient background with hover lift
  • Cards: Border glow on hover
  • Text: Gradient text utility classes
  • Scrollbar: Gradient thumb
  • Focus: Purple ring
  • Selection: Purple highlight

🔧 Technical Stack

Frontend

  • Next.js 18 - React framework
  • TypeScript - Type safety
  • Tailwind CSS 4 - Utility-first CSS
  • shadcn/ui - Component library
  • Radix UI - Headless components
  • cmdk - Command palette
  • Lucide - Icons

Backend

  • SQLite3 - Database
  • better-sqlite3 - Node.js driver
  • FTS5 - Full-text search
  • Node.js 22+ - Runtime

Build & Deploy

  • GitHub Actions - CI/CD
  • Web Workers - Background sync
  • PWA - Progressive web app
  • Service Worker - Offline support

🎯 Key Features to Implement

Search Excellence

  • Lightning-fast FTS5
  • 🎨 Faceted filtering
  • 🔤 Syntax highlighting
  • 📄 Live preview
  • 🔀 Multiple sort options
  • 📊 Result statistics

Smart Updates

  • 🔄 Auto-detect new DB versions
  • 📢 User notifications
  • ♻️ Cache invalidation
  • 🎯 Background sync
  • Zero downtime updates

Beautiful UX

  • 🎨 Gorgeous gradients
  • Smooth animations
  • 📱 Responsive design
  • Accessibility
  • 🌗 Dark mode
  • ⌨️ Keyboard shortcuts

📝 Development Notes

shadcn/ui Installation

npx shadcn-ui@latest init
npx shadcn-ui@latest add button dialog dropdown-menu toast command scroll-area

Environment Variables

# .env.local
WEBHOOK_SECRET=your-secret-here
DB_URL=https://your-host.com/awesome.db
GITHUB_TOKEN=your-github-token

GitHub Secrets

  • WEBHOOK_SECRET - For webhook verification
  • WEBHOOK_URL - Your Next.js webhook endpoint

🎉 What Makes This AWESOME

  1. Perfect Theme Match - Exact CLI color scheme
  2. Smart Updates - Worker polls, notifies, updates seamlessly
  3. GitHub Integration - Automated builds every 6 hours
  4. PWA Ready - Install as app on any device
  5. Next-Level Search - Facets, filters, live preview
  6. Beautiful Design - State-of-the-art UI/UX
  7. Intelligent - Smart polling, cache management
  8. Complete - End-to-end solution

📖 Documentation

🚀 Deployment

vercel deploy

Environment Setup

  1. Add environment variables
  2. Configure GitHub webhook
  3. Set up database hosting
  4. Generate PWA icons

💡 Future Enhancements

  • Advanced analytics
  • User accounts
  • Saved searches
  • Export functionality
  • Mobile app
  • Browser extension
  • API for developers

Built with 💜💗💛 and maximum awesomeness!

This is a GROUND-BREAKING, NEXT-LEVEL, AAA webapp that perfectly complements the awesome CLI!

Description
No description provided
Readme 683 KiB
Languages
TypeScript 91.8%
JavaScript 4.3%
CSS 3.2%
Dockerfile 0.7%