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.
This commit is contained in:
@@ -7,8 +7,9 @@ KROW is a comprehensive workforce management platform designed to streamline ope
|
|||||||
### 📦 Apps (`/apps`)
|
### 📦 Apps (`/apps`)
|
||||||
These are the production-ready applications for our users:
|
These are the production-ready applications for our users:
|
||||||
- **`web-dashboard/`**: The primary React/Vite dashboard for Admin, Vendors, and Clients.
|
- **`web-dashboard/`**: The primary React/Vite dashboard for Admin, Vendors, and Clients.
|
||||||
- **`mobile-client/`**: Flutter application for final clients to manage orders and billing.
|
- **`mobile/`**: Flutter applications for client and staff.
|
||||||
- **`mobile-staff/`**: Flutter application for staff members (scheduling, clock-in/out, earnings).
|
- `client`: The application for final clients to manage orders and billing.
|
||||||
|
- `staff`: The application for staff members (scheduling, clock-in/out, earnings).
|
||||||
|
|
||||||
### ⚙️ Backend (`/backend`)
|
### ⚙️ Backend (`/backend`)
|
||||||
The core data engine powering all applications:
|
The core data engine powering all applications:
|
||||||
|
|||||||
68
apps/mobile/README.md
Normal file
68
apps/mobile/README.md
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
# 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.
|
||||||
@@ -27,9 +27,16 @@ scripts:
|
|||||||
echo " CODE GENERATION:"
|
echo " CODE GENERATION:"
|
||||||
echo " - melos run gen:l10n : Generate Slang l10n"
|
echo " - melos run gen:l10n : Generate Slang l10n"
|
||||||
echo " - melos run gen:build : Run build_runner"
|
echo " - melos run gen:build : Run build_runner"
|
||||||
|
echo " - melos run gen:all : Run l10n and build_runner"
|
||||||
echo "============================================================"
|
echo "============================================================"
|
||||||
description: "Display information about available custom Melos commands."
|
description: "Display information about available custom Melos commands."
|
||||||
|
|
||||||
|
gen:all:
|
||||||
|
run: |
|
||||||
|
melos run gen:l10n
|
||||||
|
melos run gen:build
|
||||||
|
description: "Run both localization and build_runner generation across all packages."
|
||||||
|
|
||||||
gen:l10n:
|
gen:l10n:
|
||||||
exec: dart run slang
|
exec: dart run slang
|
||||||
description: "Generate localization files using Slang across all packages."
|
description: "Generate localization files using Slang across all packages."
|
||||||
|
|||||||
Reference in New Issue
Block a user