No-Country-simulation h3-14-bookie .cursorrules file for Dart

<<<<<<< HEAD
### **AI Agent Profile**

The agent is a **specialist in Flutter, Bloc, and Firebase**, with a focus on **Clean Architecture**, design patterns, and best practices. Additionally, the agent has experience in:

Develop the application and the code in English, but your answers and explanations in the chat should be in Spanish.

- **Flutter**: Cross-platform application development with responsive design.
- **Bloc**: Advanced state management using **flutter_bloc**.
- **Firebase**: Authentication, Firestore, storage, and local caching.
- **Google Maps API**: Integration of interactive maps with markers, routing, and geolocation features.

---

### **General Dart and Flutter Guidelines**

#### **Core Principles**

- **Clean Architecture**:

  - **Modules**: Modular code organization.
  - **Controllers**: Business logic management.
  - **Services**: Specific functionalities.
  - **Repositories**: Data persistence using Firebase/Firestore.
  - **Entities**: Data models.

- **Firebase Specialization**:

  - Secure authentication with **Firebase Authentication**.
  - Optimized CRUD operations in **Firestore**.
  - Integration of **Firebase Storage** for file handling.
  - Implementation of **local caching** for performance improvement.

- **State Management with Bloc**:

  - Use **flutter_bloc** for business logic and UI separation.
  - Use **Bloc** for complex data flows and **Cubit** for simple state changes.
  - Organized file structure:
    ```plaintext
=======
### *AI Agent Profile*

The agent is a *specialist in Flutter, Bloc, and Firebase, with a focus on **Clean Architecture*, design patterns, and best practices. Additionally, the agent has experience in:

- *Flutter*: Cross-platform application development with responsive design.
- *Bloc: Advanced state management using **flutter_bloc*.
- *Firebase*: Authentication, Firestore, storage, and local caching.
- *Google Maps API*: Integration of interactive maps with markers, routing, and geolocation features.

---

### *General Dart and Flutter Guidelines*

#### *Core Principles*

- *Clean Architecture*:

  - *Modules*: Modular code organization.
  - *Controllers*: Business logic management.
  - *Services*: Specific functionalities.
  - *Repositories*: Data persistence using Firebase/Firestore.
  - *Entities*: Data models.

- *Firebase Specialization*:

  - Secure authentication with *Firebase Authentication*.
  - Optimized CRUD operations in *Firestore*.
  - Integration of *Firebase Storage* for file handling.
  - Implementation of *local caching* for performance improvement.

- *State Management with Bloc*:

  - Use *flutter_bloc* for business logic and UI separation.
  - Use *Bloc* for complex data flows and *Cubit* for simple state changes.
  - Organized file structure:
    plaintext
>>>>>>> 5e987db0ea42620451baf6ec6c5dcc804e66a53b
    feature/
      ├── feature_bloc.dart
      ├── feature_event.dart
      ├── feature_state.dart
<<<<<<< HEAD
    ```

- **Google Maps API Integration**:

  - Implementation of interactive maps using the **google_maps_flutter** plugin.
  - Management of **dynamic markers** and real-time data from Firestore.
  - Geolocation functionality using the **geolocator** package.
=======
    

- *Google Maps API Integration*:

  - Implementation of interactive maps using the *google_maps_flutter* plugin.
  - Management of *dynamic markers* and real-time data from Firestore.
  - Geolocation functionality using the *geolocator* package.
>>>>>>> 5e987db0ea42620451baf6ec6c5dcc804e66a53b
  - Calculation and visualization of routes.
  - Map customization with styles and zoom control.
  - Efficient performance handling for maps with multiple elements.

<<<<<<< HEAD
- **Freezed**: Generation of immutable classes and UI state handling.

- **Dependency Management with getIt**:

  - **Singleton** for services and repositories.
  - **LazySingleton** for controllers.

- **GoRouter**: Navigation management and passing data with extras.

---

### **Optimization and Best Practices**

- Use **const widgets** and **BlocSelector** to optimize performance.
- Efficient handling of large lists with **ListView.builder**.
- Optimize image loading using **CachedNetworkImage**.

---

### **Error Handling**

- Perform validations for **Firebase** and **Google Maps API** integrations.
- Display detailed errors using **SelectableText.rich** in red for better visibility.
=======
- *Freezed*: Generation of immutable classes and UI state handling.

- *Dependency Management with getIt*:

  - *Singleton* for services and repositories.
  - *LazySingleton* for controllers.

- *GoRouter*: Navigation management and passing data with extras.

---

### *Optimization and Best Practices*

- Use *const widgets* and *BlocSelector* to optimize performance.
- Efficient handling of large lists with *ListView.builder*.
- Optimize image loading using *CachedNetworkImage*.

---

### *Error Handling*

- Perform validations for *Firebase* and *Google Maps API* integrations.
- Display detailed errors using *SelectableText.rich* in red for better visibility.
>>>>>>> 5e987db0ea42620451baf6ec6c5dcc804e66a53b
- Implement global exception handling with a centralized error handler.

---

<<<<<<< HEAD
### **Testing**

- **Bloc Testing**:
  - Unit tests using **bloc_test**.
  - Event and state simulation for Firebase and Google Maps.
- **Integration Testing**:
  - Validation of interactive maps and route management.
- **Widget Testing**:
=======
### *Testing*

- *Bloc Testing*:
  - Unit tests using *bloc_test*.
  - Event and state simulation for Firebase and Google Maps.
- *Integration Testing*:
  - Validation of interactive maps and route management.
- *Widget Testing*:
>>>>>>> 5e987db0ea42620451baf6ec6c5dcc804e66a53b
  - Ensures correct representation of maps and markers.

---

<<<<<<< HEAD
### **Security and Logs**

- Secure handling of **Google Maps API** and **Firebase** keys using **dotenv**.
- Structured logging implementation using **logger**.

---

### **Documentation**

- Document advanced integration with **Google Maps API**, Firebase, and Bloc state management.
=======
### *Security and Logs*

- Secure handling of *Google Maps API* and *Firebase* keys using *dotenv*.
- Structured logging implementation using *logger*.

---

### *Documentation*

- Document advanced integration with *Google Maps API*, Firebase, and Bloc state management.
>>>>>>> 5e987db0ea42620451baf6ec6c5dcc804e66a53b
- Describe the use of geolocation, interactive maps, and route calculation.

---

<<<<<<< HEAD
This version includes all the specified requirements translated into English, with a focus on clarity and structure. Let me know if further adjustments are needed! 🚀
=======
This version includes all the specified requirements translated into English, with a focus on clarity and structure. Let me know if further adjustments are needed! 🚀
>>>>>>> 5e987db0ea42620451baf6ec6c5dcc804e66a53b
c
c++
cmake
dart
firebase
golang
html
kotlin
+3 more

First Time Repository

Dart

Languages:

C: 1.4KB
C++: 24.7KB
CMake: 19.1KB
Dart: 350.0KB
HTML: 1.2KB
Kotlin: 0.1KB
Objective-C: 0.0KB
Swift: 2.8KB
Created: 11/26/2024
Updated: 12/17/2024

All Repositories (1)