Food Hub is a multi-vendor food delivery platform that connects customers with local restaurants. This repository contains the frontend app, including separate experiences for customers, providers, and admins.
- Admin Dashboard: Overview, user management, provider approvals, and platform stats
- Provider Dashboard: Meal management, order handling, status updates, and profile management
- Customer Portal: Browse meals, filters/search, cart, checkout, and order history
- Next.js App Router for routing and page structure
- Type-safe codebase with TypeScript
- Form handling and validation via React Hook Form + Zod
- Responsive UI using Tailwind CSS v4
- User feedback with Sonner toasts
- Framework: Next.js 16 (React 19)
- Language: TypeScript
- Styling: Tailwind CSS v4
- State Management: React Context API
- Data Fetching: Axios
- Forms: React Hook Form + Zod
- Icons: Lucide React
- Node.js (v18 or higher)
- npm
- Food Hub backend server running
- Clone the repository:
git clone https://github.com/SamiulIslam007/Food-Hub-Client.git
cd Food-Hub-Client- Install dependencies:
npm install- Create an environment file in the root directory (
.env):
NEXT_PUBLIC_API_URL=http://localhost:5000/api/v1- Start the development server:
npm run dev- Open http://localhost:3000 in your browser.
npm run dev # start development server
npm run build # build for production
npm run start # run production build
npm run lint # run lint checkssrc/
├── app/ # Next.js App Router pages and layouts
│ ├── (auth)/ # Authentication routes (login, register)
│ ├── (dashboard)/ # Role-based dashboards (admin, customer, provider)
│ ├── meals/ # Public meal browsing
│ └── providers/ # Public restaurant browsing
├── components/ # Reusable UI components
│ ├── modules/ # Feature-specific components
│ └── shared/ # Global components (Navbar, Footer, AuthGuard)
├── config/ # Global configuration
├── context/ # React Context (AuthContext)
├── lib/ # Utility functions (axios instance)
├── services/ # API integration services
└── types/ # TypeScript interfaces and types
Contributions, issues, and feature requests are welcome.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit --trailer "Made-with: Cursor" -m "Add some AmazingFeature") - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
No license file is currently included in this repository.