ThatNinjaGuy / Waiter

A CRM system for restaurants
https://waiter-dev-ca07d.web.app/
1 stars 0 forks source link
crm menu-management order-management restaurant-management staff-management

šŸ½ļø React Native Restaurant Menu App

This project is a comprehensive React Native application for managing a restaurant's operations. It leverages Firebase Firestore for robust data storage and supports offline capabilities for seamless usage.

šŸ“‘ Table of Contents

āœØ Features

šŸŽ„ Demo

Waiter App Demo

šŸ“ø Screenshots

šŸ“Š Dashboard

Overview Screen

šŸ½ļø Menu Management

Menu Management

šŸ“‹ Order Management

Order Management

šŸ“¦ Table Management

Table Management

šŸ“¦ Order Taking

Table Management

šŸ“¦ Inventory, Screen, Profile Management

Inventory Management

Additional projects

šŸš€ Installation

  1. Clone the repository:

    git clone https://github.com/ThatNinjaGuy/Waiter.git
    cd Waiter
  2. Install dependencies:

    npm install
  3. Install Expo CLI:

    npm install -g expo-cli
  4. Install EAS CLI:

    npm install -g eas-cli

Running the app - Locally for web or android hosting

Building and hosting a preview deployemnt of the web app

Running the web app production build

Building the APK

Alternate web app hosting: Publishing the app to Ngrok for getting remote access to locally hosted web app

ngrok http 8081

Firebase Setup

  1. Create a Firebase project:
    • Go to the Firebase Console.
    • Click on "Add project" and follow the setup wizard to create a new project.
  2. Register your app:
    • In the Firebase Console, navigate to "Project settings" and add your Android and iOS apps.
    • Download the google-services.json file for Android and GoogleService-Info.plist file for iOS.
  3. Add Firebase configuration: Usgae of provided default firebaseConfig is for reference only. It should not be used for live deployments or production use. It should not be used for demo purposes only. Excess hits to firebase services can lead to your account being flagged as suspicious and disabled, and a legal action against you. Update the firebaseConfig.js file in the root directory with your details:

    const firebaseConfig = {
    apiKey: 'YOUR_API_KEY',
    authDomain: 'YOUR_AUTH_DOMAIN',
    projectId: 'YOUR_PROJECT_ID',
    storageBucket: 'YOUR_STORAGE_BUCKET',
    messagingSenderId: 'YOUR_MESSAGING_SENDER_ID',
    appId: 'YOUR_APP_ID',
    };

Generating native folders and running the gradle build locally

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.

License

This project is licensed under the MIT License.