> For the complete documentation index, see [llms.txt](https://listing-nb.gitbook.io/olo-full-app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://listing-nb.gitbook.io/olo-full-app/master.md).

# Introduction

## OLO - Listing App

OLO Listing App is a full-fledge solution for having a listing solution for iOS, Android and Web for dashboard. We have made sure that you get a good design for mobile and dashboard application and a complete solution for you to easily implement this app for any restaurant application.

[React Native](https://github.com/facebook/react-native) with [Expo](https://expo.io) is used to build this application for mobile end. For dashboard panel React has been used. Both mobile and web use [Graphql](https://graphql.org/). For State management and querying end points [Apollo Client](https://github.com/apollographql/apollo-client) is used.  The API is made using [Node](https://nodejs.org/en/) with [Mongodb](https://www.mongodb.com/).

It has all the features that you will ever need to implement this application for any listing application. Some of the features that are included in it are:

* [x] Push Notification for both Mobile and Web
* [x] Email Integration -- Email is sent for some actions such as making Order
* [x] Chat Integration
* [x] Follow Integeration
* [x] Google Authentication integration
* [x] Mobile Responsive Dashboard
* [x] Zones based ads shown
* [x] Favourites Integration

We have made sure that the code is well structured and removed of unnecessary screens to make your development life easier. It is also integrated with the following features so you could have an even better development experience.&#x20;

* [x] [ESLint](https://eslint.org/) to provide you with linting capability in Javascript.
* [x] [Prettier](https://prettier.io/) for code formatting
* [x] [Jest](https://jestjs.io/) for unit testing&#x20;
* [x] [Husky ](https://github.com/typicode/husky)to prevent bad commits.&#x20;

## What will you have in OLO Full App?

* OLO Mobile App
* Admin Web Dashboard
* Application program interface server

## OLO Technology Stack

#### Application program interface (API) server

* [NodeJS](https://nodejs.org/en/)
* [MongoDB](https://www.mongodb.com/)
* [ExpressJS](https://expressjs.com/)
* [Nodemailer](https://nodemailer.com/about/)
* [Firebase](https://firebase.google.com/)(for push notification on web)
* [Express GraphQL](https://graphql.org/)
* [Mongoose](https://mongoosejs.com/)(for mongodb)

#### Web Dashboard

* [React ](https://reactjs.org/)
* [GraphQL](https://graphql.org/)
* [Bootstrap](https://getbootstrap.com/)
* [Firebase](https://firebase.google.com/)(for push notification on web)

#### Mobile App

* [React Native](https://github.com/facebook/react-native)&#x20;
* [Expo](https://expo.io)&#x20;
* [Graphql](https://graphql.org/)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://listing-nb.gitbook.io/olo-full-app/master.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
