https://github.com/danieldd00/simple-fast-food-app
Food Ordering App
https://github.com/danieldd00/simple-fast-food-app
appwrite expo nativewind react-native tailwindcss typescript zustand
Last synced: 3 months ago
JSON representation
Food Ordering App
- Host: GitHub
- URL: https://github.com/danieldd00/simple-fast-food-app
- Owner: danieldd00
- Created: 2025-07-07T16:51:06.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-07-08T19:18:21.000Z (7 months ago)
- Last Synced: 2025-07-08T19:50:57.241Z (7 months ago)
- Topics: appwrite, expo, nativewind, react-native, tailwindcss, typescript, zustand
- Language: TypeScript
- Homepage:
- Size: 3.16 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Food Ordering App built with React Native, TypeScript, and Tailwind CSS, this full-stack Food Delivery app features 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.
- **[Appwrite](https://appwrite.io/)** 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](https://expo.dev/)** 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](https://www.nativewind.dev/)** 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](https://reactnative.dev/)** 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](https://tailwindcss.com/)** 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](https://www.typescriptlang.org/)** 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](https://zustand.docs.pmnd.rs/)** 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.
### Features
👉 **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:
- **[Git](https://git-scm.com/)**
- **[Node.js](https://nodejs.org/en)**
- **[npm](https://www.npmjs.com/)** _(Node Package Manager)_
**Cloning the Repository**
```bash
git clone https://github.com/danieldd00/simple-fast-food-app
cd fast-food-app
```
**Installation**
Install the project dependencies using npm:
```bash
npm install
```
**Set Up Environment Variables**
Create a new file named `.env` in the root of your project and add the following content:
```env
EXPO_PUBLIC_APPWRITE_PROJECT_ID=
EXPO_PUBLIC_APPWRITE_ENDPOINT=
```
Replace the placeholder values with your actual credentials by signing up on the **[Appwrite](https://appwrite.io/)** dashboard.
**Running the Project**
```bash
npx expo start
```
Open your ExpoGO app on your phone and scan the QR code to view the project.