{"id":31565399,"url":"https://github.com/bazileros/fastbite-ecommerce","last_synced_at":"2026-04-21T05:32:58.939Z","repository":{"id":317695301,"uuid":"1068443088","full_name":"bazileros/fastbite-ecommerce","owner":"bazileros","description":"Nextjs + Convex + Imagekit + paystack + logto","archived":false,"fork":false,"pushed_at":"2025-10-02T14:00:38.000Z","size":1821,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-02T14:27:43.201Z","etag":null,"topics":["convex","coolify","imagekit","nextjs15","paystack","zod"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bazileros.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/security.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-02T11:49:50.000Z","updated_at":"2025-10-02T14:00:42.000Z","dependencies_parsed_at":"2025-10-02T14:29:02.787Z","dependency_job_id":null,"html_url":"https://github.com/bazileros/fastbite-ecommerce","commit_stats":null,"previous_names":["bazileros/fastbite-ecommerce"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/bazileros/fastbite-ecommerce","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazileros%2Ffastbite-ecommerce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazileros%2Ffastbite-ecommerce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazileros%2Ffastbite-ecommerce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazileros%2Ffastbite-ecommerce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bazileros","download_url":"https://codeload.github.com/bazileros/fastbite-ecommerce/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazileros%2Ffastbite-ecommerce/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278420208,"owners_count":25983814,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["convex","coolify","imagekit","nextjs15","paystack","zod"],"created_at":"2025-10-05T07:05:39.830Z","updated_at":"2025-10-05T07:05:42.102Z","avatar_url":"https://github.com/bazileros.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🍔 FastBite - Modern Food Ordering Platform\n\n[![Next.js](https://img.shields.io/badge/Next.js-13+-000000?style=flat\u0026logo=next.js)](https://nextjs.org/)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5+-3178C6?style=flat\u0026logo=typescript)](https://www.typescriptlang.org/)\n[![Convex](https://img.shields.io/badge/Convex-1.27+-000000?style=flat\u0026logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDJDMTMuMSAyIDE0IDIuOSAxNCA0VjIwQzE0IDIxLjEgMTMuMSAyMiAxMiAyMkg0QzIuOSAyMiAyIDIxLjEgMiAyMFY0QzIgMi45IDIuOSAyIDQgMkgxMkMxMy4xIDIgMTQgMi45IDE0IDRWNFoiIGZpbGw9IiMwMDAiLz4KPC9zdmc+Cg==)](https://convex.dev/)\n[![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-3+-06B6D4?style=flat\u0026logo=tailwind-css)](https://tailwindcss.com/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nFastBite is a modern, full-stack food ordering platform built with cutting-edge technologies. Experience seamless ordering with real-time updates, secure payments, and an intuitive user interface.\n\n![FastBite Preview](./public/fastbite-logo.png)\n\n## ✨ Features\n\n### 🍽️ Core Functionality\n- **Real-time Menu Management** - Dynamic menu updates with instant synchronization\n- **Advanced Cart System** - Persistent cart with customization options\n- **Flexible Meal Customization** - Toppings, sides, and beverages for each meal\n- **Order Tracking** - Real-time order status updates\n- **Guest Checkout** - No account required for ordering\n\n### 🔐 Security \u0026 Authentication\n- **Enterprise Authentication** - Logto-powered secure login system\n- **Role-Based Access Control** - Customer, Staff, Manager, and Admin roles\n- **Social Login** - Google, GitHub, and other OAuth providers\n- **Secure Payments** - Paystack integration with webhook verification\n\n### 🛠️ Technical Excellence\n- **Type-Safe Development** - Full TypeScript coverage with Zod validation\n- **Real-time Database** - Convex-powered reactive data layer\n- **Modern UI/UX** - Radix UI components with Tailwind CSS\n- **File Storage** - MinIO-powered secure image management\n- **Docker Support** - Containerized development and deployment\n\n### 📊 Admin Features\n- **Analytics Dashboard** - Comprehensive business insights\n- **Menu Management** - CRUD operations for meals and categories\n- **Order Management** - Staff dashboard for order processing\n- **User Management** - Role assignment and user administration\n- **Audit Logging** - Complete activity tracking\n\n## 🚀 Quick Start\n\n### Prerequisites\n- Node.js 18.17+\n- npm 9.0+\n- Git\n\n### Installation\n\n1. **Clone the repository**\n   ```bash\n   git clone https://github.com/your-username/fastbite.git\n   cd fastbite\n   ```\n\n2. **Install dependencies**\n   ```bash\n   npm install\n   ```\n\n3. **Set up environment variables**\n   ```bash\n   cp .env.example .env.local\n   # Edit .env.local with your configuration\n   ```\n\n4. **Start development server**\n   ```bash\n   npm run dev\n   ```\n\n5. **Open your browser**\n   ```\n   http://localhost:3000\n   ```\n\n### Database Setup\n\n```bash\n# Initialize Convex\nnpm run convex:dev\n\n# Deploy schema\nnpm run convex:deploy\n\n# Seed with sample data\nnpm run db:seed\n```\n\n## 🏗️ Architecture\n\n```\nfastbite/\n├── app/                    # Next.js 13+ App Router\n│   ├── (routes)/          # Route groups\n│   ├── api/               # API routes\n│   ├── globals.css        # Global styles\n│   └── layout.tsx         # Root layout\n├── components/            # Reusable UI components\n│   ├── ui/               # Radix UI primitives\n│   └── ...               # Feature components\n├── convex/                # Backend functions\n│   ├── _generated/       # Auto-generated types\n│   ├── mutations.ts      # Write operations\n│   ├── queries.ts        # Read operations\n│   ├── schema.ts         # Database schema\n│   └── actions.ts        # Server actions\n├── lib/                  # Utilities \u0026 configuration\n│   ├── types.ts          # TypeScript definitions\n│   ├── schemas.ts        # Zod validation schemas\n│   ├── utils.ts          # Helper functions\n│   └── ...               # Service integrations\n├── docs/                 # Documentation\n├── public/               # Static assets\n└── tests/                # Test suites\n```\n\n## 🛠️ Tech Stack\n\n### Frontend\n- **Framework**: [Next.js 13+](https://nextjs.org/) with App Router\n- **Language**: [TypeScript 5+](https://www.typescriptlang.org/)\n- **Styling**: [Tailwind CSS](https://tailwindcss.com/)\n- **UI Components**: [Radix UI](https://www.radix-ui.com/)\n- **Forms**: [React Hook Form](https://react-hook-form.com/) + [Zod](https://zod.dev/)\n- **State**: React Context + [Convex React](https://docs.convex.dev/)\n\n### Backend\n- **Database**: [Convex](https://convex.dev/) - Real-time database\n- **Authentication**: [Logto](https://logto.io/) - Enterprise auth\n- **Payments**: [Paystack](https://paystack.com/) - Payment processing\n- **Image Storage**: [ImageKit](https://imagekit.io/) - Image CDN \u0026 optimization\n- **Email**: [Nodemailer](https://nodemailer.com/) - Email service\n\n### DevOps\n- **Containerization**: [Docker](https://docker.com/)\n- **Orchestration**: Docker Compose\n- **Deployment**: [Coolify](https://coolify.io/) (Traefik/Caddy) / [Vercel](https://vercel.com/)\n- **CI/CD**: GitHub Actions (optional)\n\n## 📋 Available Scripts\n\n```bash\n# Development\nnpm run dev              # Start development server\nnpm run convex:dev       # Start Convex development\nnpm run convex:deploy    # Deploy Convex functions\n\n# Database\nnpm run db:seed          # Seed database with sample data\nnpm run db:migrate       # Run database migrations\n\n# Docker\nnpm run docker:build     # Build Docker image\nnpm run docker:run       # Run Docker container\nnpm run compose:up       # Start all services\nnpm run compose:down     # Stop all services\n\n# Testing \u0026 Quality\nnpm test                 # Run test suite\nnpm run type-check       # TypeScript type checking\nnpm run lint             # ESLint code linting\nnpm run build            # Production build\n\n# Utilities\nnpm run clean            # Clean build artifacts\nnpm run format           # Format code with Prettier\n```\n\n## 🔧 Configuration\n\n### Environment Variables\n\n```env\n# Next.js\nNEXT_PUBLIC_BASE_URL=http://localhost:3000\n\n# Convex\nNEXT_PUBLIC_CONVEX_URL=your-convex-deployment-url\n\n# Logto Authentication\nLOGTO_ENDPOINT=https://your-logto-instance.logto.app\nLOGTO_APP_ID=your-app-id\nLOGTO_APP_SECRET=your-app-secret\nLOGTO_BASE_URL=http://localhost:3000\nLOGTO_COOKIE_SECRET=your-random-secret-key\n\n# Paystack Payments\nPAYSTACK_PUBLIC_KEY=pk_test_your_public_key\nPAYSTACK_SECRET_KEY=sk_test_your_secret_key\n\n# ImageKit\nNEXT_PUBLIC_IMAGEKIT_PUBLIC_KEY=your_imagekit_public_key\nIMAGEKIT_PRIVATE_KEY=your_imagekit_private_key\nNEXT_PUBLIC_IMAGEKIT_URL_ENDPOINT=https://ik.imagekit.io/your_imagekit_id/\n\n# Email (optional)\nSMTP_HOST=smtp.gmail.com\nSMTP_PORT=587\nSMTP_USER=your-email@gmail.com\nSMTP_PASS=your-app-password\n```\n\n### Docker Setup\n\nFor local development with all services:\n\n```bash\n# Start full stack\ndocker-compose up -d\n\n# With Paystack testing (includes nginx)\ndocker-compose --profile paystack-testing up -d\n\n# View logs\ndocker-compose logs -f\n\n# Stop services\ndocker-compose down\n```\n\n## 📖 Documentation\n\nComprehensive documentation is available in the `docs/` directory:\n\n- **[Setup Guide](docs/setup.md)** - Complete installation and configuration\n- **[Coolify Deployment](docs/coolify-deployment.md)** - Production deployment guide\n- **[Convex Backend](docs/convex.md)** - Database and serverless functions\n- **[Logto Auth](docs/logto.md)** - Authentication and authorization\n- **[Zod Validation](docs/zod.md)** - Input validation and type safety\n- **[Paystack Integration](docs/paystack.md)** - Payment processing\n- **[ImageKit Integration](docs/imagekit-integration.md)** - Image storage and optimization\n- **[Frontend Architecture](docs/frontend.md)** - UI/UX and components\n- **[Security Guide](docs/security.md)** - Security best practices\n- **[Contributing](docs/contributing.md)** - Development guidelines\n\n## 🧪 Testing\n\n```bash\n# Run all tests\nnpm test\n\n# Run with coverage\nnpm run test:coverage\n\n# Run specific test file\nnpm test -- MealCard.test.tsx\n\n# E2E testing\nnpm run test:e2e\n```\n\n### Test Coverage\n- Unit tests for utilities and hooks\n- Component tests with React Testing Library\n- Integration tests for critical user flows\n- E2E tests with Playwright\n\n## 🚀 Deployment\n\n### Production Build\n\n```bash\n# Build for production\nnpm run build\n\n# Export static files (optional)\nnpm run export\n```\n\n### Deployment Options\n\n#### Coolify (Recommended)\n1. Connect your repository\n2. Configure environment variables\n3. Deploy with automatic SSL\n\n#### Vercel\n1. Import project to Vercel\n2. Set environment variables\n3. Deploy with global CDN\n\n#### Docker\n```bash\n# Build production image\ndocker build -t fastbite:latest .\n\n# Run in production\ndocker run -p 3000:3000 fastbite:latest\n```\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](docs/contributing.md) for details.\n\n### Development Workflow\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests\n5. Submit a pull request\n\n### Code Standards\n- TypeScript for type safety\n- ESLint for code quality\n- Prettier for formatting\n- Conventional commits\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- **Convex** for the amazing real-time database\n- **Logto** for enterprise authentication\n- **Paystack** for reliable payment processing\n- **ImageKit** for powerful image optimization and CDN\n- **Radix UI** for accessible component primitives\n- **Tailwind CSS** for utility-first styling\n- **Coolify** for simplified self-hosted deployments\n\n## 📞 Support\n\n- **Issues**: [GitHub Issues](https://github.com/your-username/fastbite/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/your-username/fastbite/discussions)\n- **Documentation**: [FastBite Docs](docs/)\n\n## 🎯 Roadmap\n\n### Upcoming Features\n- [ ] Mobile app (React Native)\n- [ ] Advanced analytics dashboard\n- [ ] Loyalty program integration\n- [ ] Multi-restaurant support\n- [ ] Real-time chat support\n- [ ] Advanced filtering and search\n- [ ] Order scheduling\n- [ ] Push notifications\n\n### Technical Improvements\n- [ ] GraphQL API layer\n- [ ] Microservices architecture\n- [ ] Advanced caching strategies\n- [ ] Performance monitoring\n- [ ] Automated testing pipeline\n\n---\n\n\u003cp align=\"center\"\u003e\n  Made with ❤️ for food lovers everywhere\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#-fastbite---modern-food-ordering-platform\"\u003eBack to top\u003c/a\u003e\n\u003c/p\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbazileros%2Ffastbite-ecommerce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbazileros%2Ffastbite-ecommerce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbazileros%2Ffastbite-ecommerce/lists"}