> For the complete documentation index, see [llms.txt](https://docs.ionicfirebaseapp.com/flutter-news-app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ionicfirebaseapp.com/flutter-news-app/app-structure.md).

# App structure

## App Structure <a href="#app-structure" id="app-structure"></a>

There are Five main folder structures in a Native Flutter app:

**App**: The app has all the files needed for the app and the main structure on which the application can be built upon.

**Common**: It has some data which we can reuse in the app.

**Pages**: It has all pages of a project which contains UI, functions, and styling of our app. It also contains some files 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 similar colors which we reuse in the project.

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

### App

**main.dart:** It is the main entry point of our app. It defines the basic structure and initial navigation of the app.

![App structure](/files/-LzIYcNJNaImTiBjkmCO)

In our case, we have a side menu. In this file, we have defined which page would be the first, and we also described an option to navigate to the side menu. It also helps in notifying us when the platform is ready.

### Pages:

Each page has it’s a folder. And within that folder, you will find every related file for that page. This includes UI, and it is connected with the service page.

Let’s get through the cart page.

### Service:

Each page has its folder. And within that folder, you will find the related files for that particular page. It contains API.

### Style:

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 so that you can play around and try different color schemes.

We also defined a common Text style which is used within the app. &#x20;

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


---

# 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://docs.ionicfirebaseapp.com/flutter-news-app/app-structure.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.
