Crusto is a full-stack pizza delivery platform with custom pizza building, order tracking, inventory management, dynamic pricing, and an advanced admin dashboard.
๐ Try now at crusto-pizza.vercel.app
Demo Admin Credentials
Email: admin@gmail.com
Password: Admin@123Features
- Custom Pizza Builder - Choose ingredients and build pizzas
- Order Tracking - Real-time status updates
- User Accounts - Save preferences and order history
- Secure Payments - Multiple payment options
- Admin Dashboard - Manage inventory and orders
- Low Stock Alerts - Email notifications for low ingredients
- Analytics - Sales reports and insights
- Dynamic Pricing - Automatically calculate costs and availability
- Mobile Responsive - Works across devices
Project Structure
The project is organized into separate frontend and backend applications:
crusto-pizza-delivery-app/
โโโ client/ # React frontend application
โ โโโ public/ # Static assets (favicon, etc.)
โ โโโ src/
โ โ โโโ components/ # Reusable UI components
โ โ โโโ hooks/ # Custom React hooks
โ โ โโโ layouts/ # Page layout components
โ โ โโโ lib/ # Utility functions and helpers
โ โ โโโ pages/ # Page components organized by domain
โ โ โ โโโ auth/ # Authentication pages
โ โ โ โโโ root/ # Customer-facing pages
โ โ โ โโโ dashboard/ # Admin dashboard pages
โ โ โโโ routes/ # React Router configuration
โ โ โโโ store/ # Zustand state management stores
โ โ โโโ App.tsx # Main app component
โ โ โโโ main.tsx # React entry point
โ โ โโโ global.css # Global styles
โ โโโ .env.example # Environment variables template
โ โโโ package.json # Frontend dependencies and scripts
โ โโโ components.json # Radix UI components configuration
โ โโโ vite.config.ts # Vite build configuration
โ โโโ tsconfig.json # TypeScript configuration
โ
โโโ server/ # Node.js backend application
โ โโโ src/
โ โ โโโ config/ # DB, Redis, Cloudinary, and Razorpay configuration
โ โ โโโ controllers/ # Route handlers and business logic
โ โ โโโ jobs/ # Background job system
โ โ โ โโโ processors/ # Job processing logic
โ โ โ โโโ queues/ # Job queue definitions
โ โ โ โโโ workers/ # Worker processes
โ โ โโโ middleware/ # Express middleware
โ โ โโโ models/ # Mongoose schemas and models
โ โ โโโ nodemailer/ # Email configuration and templates
โ โ โโโ routes/ # API route definitions
โ โ โโโ types/ # TypeScript type definitions
โ โ โโโ utils/ # Helper functions and utilities
โ โ โโโ server.ts # Express server entry point
โ โโโ .env.example # Environment variables template
โ โโโ package.json # Backend dependencies and scripts
โ โโโ tsconfig.json # TypeScript configuration
โโโ .gitignore # Git ignore rules
โโโ LICENSE # Apache 2.0 license
โโโ README.md # Project documentationPrerequisites
Before you begin, ensure you have the following installed:
Getting Started
After checking the prerequisites above, follow these steps to set up the project.
Clone the repository
git clone https://github.com/kunaldasx/crusto-pizza-delivery-app cd crusto-pizza-delivery-appSet up the frontend
cd client npm install cp .env.example .env npm run devConfigure the required environment variables in
.env.Set up the backend
Open a second terminal:
cd server npm install cp .env.example .env npm run devConfigure the required environment variables in
.env.Start the background workers
Use additional terminals for the background jobs:
# Price calculations cd server npm run dev:price# Stock management cd server npm run dev:availability
Development
Once the frontend, backend, and background workers are running, the application can be used locally with the configured environment variables.
Contributing
Contributions are welcome. To contribute to Crusto:
Clone the repository and create a new branch:
git checkout -b name_for_new_branchMake your changes and test them locally.
Submit a Pull Request with a comprehensive description of your changes.
Emailware
Crusto is an emailware. If you liked using this app or it helped you in any way, you can send an email to kunaldasx@gmail.com with anything you'd like to say about the software.
Technologies
This software uses the following technologies:
- Frontend: React 19 + TypeScript + Vite + TailwindCSS + Radix UI
- Backend: Node.js + Express + TypeScript
- Database: MongoDB (Mongoose ODM)
- State Management: Zustand stores
- Queue System: Redis + BullMQ for background jobs
- Authentication: JWT + bcrypt
- File Storage: Cloudinary
- Payments: Razorpay
- Email: Nodemailer
License
Apache 2.0
๐ Visit my website โ
๐ฅ๏ธ GitHub ย ยทย
๐ผ LinkedIn ย ยทย
๐ฆ Twitter / X ย ยทย


