Files
Krow-workspace/apps/mobile/README.md
Achintha Isuru d456bf9dc9 Update mobile app docs and add gen:all Melos script
Revised the main README to clarify the mobile app structure and added a detailed README for the mobile apps. Introduced a new 'gen:all' script in Melos to run both localization and build_runner generation, and updated the info script to reflect this addition.
2026-01-22 12:06:07 -05:00

69 lines
2.4 KiB
Markdown

# KROW Workforce Mobile 📱
This folder holds the mobile app code for the KROW Workforce apps.
This project uses [Melos](https://melos.invertase.dev/) to manage multiple Flutter packages and applications.
## 📂 Project Structure
The project is organized into modular packages to ensure separation of concerns and maintainability.
- **`apps/`**: Main application entry points.
- `client`: The application for businesses/clients.
- `staff`: The application for workforce/staff.
- `design_system_viewer`: A gallery of our design system components.
- **`packages/`**: Shared logic and feature modules.
- `features/`: UI and business logic for specific features (e.g., Auth, Home, Hubs).
- `features/client`: Client specific features.
- `features/staff`: Staff specific features.
- `design_system/`: Shared UI components, tokens (colors, spacing), and core widgets.
- `domain/`: Shared business entities and repository interfaces.
- `data_connect/`: Data access layer (Mocks and Firebase Data Connect SDK).
- `core_localization/`: Internationalization using Slang.
- `core/`: Base utilities and common logic.
## 🚀 Getting Started
### 1. Prerequisites
Ensure you have the Flutter SDK installed and configured.
### 2. Initial Setup
Run the following command from the **project root** to install Melos, bootstrap all packages, and generate localization files:
```bash
# Using Makefile
make mobile-install
# Using Melos
melos bootstrap
```
### 3. Running the Apps
You can run the applications using Melos scripts or through the `Makefile`:
#### Client App
```bash
# Using Melos
melos run start:client -d android # or ios
# Using Makefile
make mobile-client-dev-android
```
#### Staff App
```bash
# Using Melos
melos run start:staff -d android # or ios
# Using Makefile
make mobile-staff-dev-android
```
## 🛠 Useful Commands
- **Bootstrap**: `melos bootstrap` (Installs all dependencies)
- **Generate All**: `melos run gen:all` (Localization + Code Generation)
- **Analyze**: `melos run analyze:all`
- **Help**: `melos run info` (Shows all available custom scripts)
## 🏗 Coding Principles
- **Clean Architecture**: We strictly follow Domain-Driven Design and Clean Architecture.
- **Modularity**: Every feature should be its own package in `packages/features/`. Client and staff specific features should be in their respective packages.
- **Consistency**: Use the `design_system` package for all UI elements to ensure a premium, unified look.