Skip to content

Full-stack Food Delivery app features Google Authentication, dynamic search and filters, cart functionality and powered by Appwrite for backend, database and file storage.

Notifications You must be signed in to change notification settings

rr3s1/food-order-mobile

Repository files navigation


Project Banner
React Native Expo Appwrite Tailwind TypeScript

Food Delivery Mobile App

Built with React Native, TypeScript and Tailwind CSS, this full-stack Food Delivery app features Google Authentication, dynamic search and filters, cart functionality, and smooth navigation. Powered by Appwrite for backend, database, and file storage, it delivers a responsive, scalable and intuitive user experience with modern UI/UX best practices.

Project Banner
  1. 🤖 Introduction
  2. ⚙️ Tech Stack
  3. 🔋 Features
  4. 🤸 Quick Start
  5. 🔗 Assets
  6. 🚀 More

🚨 Tutorial

This repository contains the code corresponding to an in-depth tutorial available on JSM YouTube channel, JavaScript Mastery.

If you prefer visual learning, this is the perfect resource for you. Follow our tutorial to learn how to build projects like these step-by-step in a beginner-friendly manner!

Built with React Native, TypeScript, and Tailwind CSS, this full-stack Food Delivery app features Google Authentication, dynamic search and filters, cart functionality, and smooth navigation. Powered by Appwrite for backend, database, and file storage, it delivers a responsive, scalable, and intuitive user experience with modern UI/UX best practices.

If you're getting started and need assistance or face any bugs, join our active Discord community with over 50k+ members. It's a place where people help each other out.

  • Appwrite is an open-source backend-as-a-service platform offering secure authentication (email/password, OAuth, SMS, magic links), databases, file storage with compression/encryption, real-time messaging, serverless functions, and static site hosting via Appwrite Sites—all managed through a unified console and microservices architecture.

  • Expo is an open-source platform for building universal native apps (Android, iOS, web) using JavaScript/TypeScript and React Native. It features file-based routing via Expo Router, fast refresh, native modules for camera/maps/notifications, over-the-air updates (EAS), and streamlined app deployment.

  • NativeWind brings Tailwind CSS to React Native and Expo, allowing you to style mobile components using utility-first classes for fast, consistent, and responsive UI design.

  • React Native is a framework for building mobile UIs with React. It enables component‑based, cross-platform development with declarative UI, deep native API support, and is tightly integrated with Expo for navigation and native capabilities.

  • Tailwind CSS is a utility-first CSS framework enabling rapid UI design via low-level classes. In React Native/Expo, it’s commonly used with NativeWind to apply Tailwind-style utilities to mobile components.

  • TypeScript is a statically-typed superset of JavaScript providing type annotations, interfaces, enums, generics, and enhanced tooling. It improves error detection, code quality, and scalability—ideal for robust, maintainable projects.

  • Zustand is a minimal, hook-based state management library for React and React Native. It lets you manage global state with zero boilerplate, no context providers, and excellent performance through selective state subscriptions.

  • Sentry is a powerful error tracking and performance monitoring tool for React Native apps. It helps you detect, diagnose, and fix issues in real-time to improve app stability and user experience.

Features of the Mobile Movie AppProject

👉 Google Authentication: Secure and seamless user sign-ins using Google.

👉 Home Page: Showcases the latest offers and directs users to filtered search results.

👉 Search Page: Lets users explore all foods with category filters and keyword search.

👉 Product Details Page: Displays food images, key details, and allows adding items to the cart.

👉 Cart Page: Review selected items and see the total price.

👉 Profile Page: Manage user settings and preferences.

👉 Appwrite Integration: Handles backend database and file storage for food items.

and many more, including code architecture and reusability.

Follow these steps to set up the project locally on your machine.

Prerequisites

Make sure you have the following installed on your machine:

Cloning the Repository

git clone https://github.com/r3ss1/food-order-mobile.git
cd food-order-mobile

Installation

Install the project dependencies using npm:

npm install

Set Up Environment Variables

Create a new file named .env in the root of your project and add the following content:

EXPO_PUBLIC_APPWRITE_PROJECT_ID=
EXPO_PUBLIC_APPWRITE_ENDPOINT=

Replace the placeholder values with your actual credentials by signing up on the Appwrite dashboard.

Running the Project

npx expo start

Open your ExpoGO app on your phone and scan the QR code to view the project.

Assets and snippets used in the project can be found in the video kit.

Video Kit Banner

Advance your skills with Next.js Pro Course

Enjoyed creating this project? Dive deeper into our PRO courses for a richer learning adventure. They're packed with

detailed explanations, cool features, and exercises to boost your skills. Give it a go!

Project Banner

About

Full-stack Food Delivery app features Google Authentication, dynamic search and filters, cart functionality and powered by Appwrite for backend, database and file storage.

Topics

Resources

Stars

Watchers

Forks