Skip to content

SamiulIslam007/Food-Hub-Client

Repository files navigation

Food Hub Client

Modern food delivery frontend built with Next.js 16

Next.js React TypeScript Tailwind CSS

Overview

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.

Key Features

Role-Based Portals

  • 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

Technical Highlights

  • 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

Tech Stack

  • 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

Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • npm
  • Food Hub backend server running

Installation

  1. Clone the repository:
git clone https://github.com/SamiulIslam007/Food-Hub-Client.git
cd Food-Hub-Client
  1. Install dependencies:
npm install
  1. Create an environment file in the root directory (.env):
NEXT_PUBLIC_API_URL=http://localhost:5000/api/v1
  1. Start the development server:
npm run dev
  1. Open http://localhost:3000 in your browser.

Available Scripts

npm run dev    # start development server
npm run build  # build for production
npm run start  # run production build
npm run lint   # run lint checks

Project Structure

src/
├── 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

Contributing

Contributions, issues, and feature requests are welcome.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit --trailer "Made-with: Cursor" -m "Add some AmazingFeature")
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

No license file is currently included in this repository.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages