# Delivery Mobile App Structure

## App Structure

There are Five main folder structures in a Grocery pro customer app :

The app has all the files needed for the app and the main structure. The application has built based on this.

* **Model**: It has some files which we can reuse in the app.
* **screens**: It has all pages of a project which contains UI Widgets, logic functions, and styling of our app. It also contains some Widgets which we can reuse in the app.
* **service**: It contains all the API implementation of the project.
* **assets**: It has all icons, background images, and some other images.
* **style**: It has a typical style of our whole project, and it also has a set of colors which we reuse throughout the project. *\*\**

**Note:** If you want more information, please refer to [**Flutter Getting Started**](https://flutter.io/).

### Assets <a href="#app" id="app"></a>

It is the Icons, Background images, and SVGs that are stored inside the assets folder. we can then use these assets to the particular places in the screen when required.

### Model: <a href="#common" id="common"></a>

It contains similar files which we are using in our project. In this case, we have defined a constant variable within the app and which also helps to change variable value.

### Screens: <a href="#containers" id="containers"></a>

Each page has a folder, and within that folder, you will find every related file for that page. This includes UI Widgets, and it is connected with service files that fetch data from Backend.

### Service: <a href="#containers" id="containers"></a>

You will find one service file for related screen files. It contains API call that fetches data from backends and provides it to the screens files.

### Style: <a href="#containers" id="containers"></a>

It contains a similar kind of files which we are using in this project. In our case, we have defined all the colors used within the app, which helps us to change color in one place and it will get reflected throughout the projects.

Here we have one example of Text style which we can use in many places from screens where texts required similar styles.

```
TextStyle hintStyle() {
  return new TextStyle(
      fontWeight: FontWeight.w400,
      fontSize: 14.0,
      color: Colors.white70,
      letterSpacing: 1.0
  );
}
```


---

# Agent Instructions: 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:

```
GET https://docs.ionicfirebaseapp.com/readymade-restaurant-app/delivery-mobile-app/app-structure.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
