# Pulse-X Overview

## Why Pulse-X?

**Pulse-X** is a light weight state management solution for your Flutter project.

#### **🏹 Pulse-X's 3 Main Targets**

<table data-view="cards" data-full-width="false"><thead><tr><th></th><th align="center"></th><th></th></tr></thead><tbody><tr><td></td><td align="center">🚀 <strong>PRODUCTIVITY</strong></td><td></td></tr><tr><td></td><td align="center">⚖️ <strong>SCALABILITY</strong></td><td></td></tr><tr><td></td><td align="center">🧩 <strong>MODULARITY</strong></td><td></td></tr></tbody></table>

> #### **🎯** **PRODUCTIVITY**
>
> &#x20;       **Pulse-X** is aimed to help you make your productivity high. It's intuitive and it won't take you long to build MVVM structure. You can write cleaner, more structural and more maintainable code.

> 🎯 **SCALABILITY**
>
> &#x20;        **Pulse-X** is here to make your program's architecture highly scalable. You can easily make layer based architecture or feature based architecture. You can add new features or remove old features without worrying much about code duplication and complexity.

> 🎯**MODULARITY**
>
> &#x20;      **Without Modules,** you can get headache and will probably end up in writing spaghetti code. Modules are easily attachable, detachable and switchable. But making modules isn't an easy task. But don't worry! **Pulse-X** will reduce your burden a lot. **Pulse-X-** has built-in service locator.Therefore, you can inject your view models on your need so that your code can become less coupling and more cohesive. Pretty easy, right? 😉

**🎧 ChatGPT generated Fun Song 😄**

```
I'm in love with the shape of our state
Efficiently managed, it's never too late
Our solution will make your app run like new
Efficient state management, it's the thing to do! 🎵🎵🎵
```

## How Pulse-X works?

**Pulse-X** works in **MVVM** structure. To create view models easily, Pulse provides you with multiple abstract view models for variouse data types, such as primitive data types, custom classes, stream data and future data.&#x20;

## State Management

{% hint style="info" %}
**Installation tip:** Please make sure you have installed and set up Flutter on your machine. If not, head over to [Flutter Installation](https://docs.flutter.dev/get-started/install) to install.
{% endhint %}

{% content-ref url="state-management/simple-data" %}
[simple-data](https://ye-lwin-oo-1.gitbook.io/pulse-x-state-management/state-management/simple-data)
{% endcontent-ref %}

{% content-ref url="state-management/collection-data" %}
[collection-data](https://ye-lwin-oo-1.gitbook.io/pulse-x-state-management/state-management/collection-data)
{% endcontent-ref %}

{% content-ref url="state-management/stream-data" %}
[stream-data](https://ye-lwin-oo-1.gitbook.io/pulse-x-state-management/state-management/stream-data)
{% endcontent-ref %}

{% content-ref url="state-management/future-data" %}
[future-data](https://ye-lwin-oo-1.gitbook.io/pulse-x-state-management/state-management/future-data)
{% endcontent-ref %}

## Dependency Managent

Service locator to inject your view models and services.

{% content-ref url="dependency-management/injection" %}
[injection](https://ye-lwin-oo-1.gitbook.io/pulse-x-state-management/dependency-management/injection)
{% endcontent-ref %}

## Route Management

{% content-ref url="route-management/routing" %}
[routing](https://ye-lwin-oo-1.gitbook.io/pulse-x-state-management/route-management/routing)
{% endcontent-ref %}

## Examples

{% content-ref url="examples/example-projects" %}
[example-projects](https://ye-lwin-oo-1.gitbook.io/pulse-x-state-management/examples/example-projects)
{% endcontent-ref %}

## Contact Me

{% content-ref url="contact/how-to-reach-me" %}
[how-to-reach-me](https://ye-lwin-oo-1.gitbook.io/pulse-x-state-management/contact/how-to-reach-me)
{% endcontent-ref %}


---

# 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://ye-lwin-oo-1.gitbook.io/pulse-x-state-management/pulse-x-overview.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.
