This is the root directory of the Dartwing Project Orchestrator. This repository serves as the main setup and coordination point for the complete Dartwing project ecosystem.
-
Clone this repository:
git clone [this-repo-url] dartwing cd dartwing -
Run the setup script:
./scripts/setup-dartwing-project.sh
That's it! The script will automatically:
- Clone the Flutter app, gatekeeper service, and shared library repositories
- Run the update-project script to configure your development environment
- Set up devcontainer configurations
The Dartwing project consists of three separate repositories:
| Component | Directory | Description | Repository |
|---|---|---|---|
| Flutter App | app/ |
Mobile application built with Flutter | FarHeapSolutions@vs-ssh.visualstudio.com:v3/FarHeapSolutions/Dartwing/app |
| Gateway Service | gateway/ |
.NET backend API service | FarHeapSolutions@vs-ssh.visualstudio.com:v3/FarHeapSolutions/Dartwing/gatekeeper |
| Flutter Library | lib/ |
Shared Flutter components and utilities | FarHeapSolutions@vs-ssh.visualstudio.com:v3/FarHeapSolutions/Dartwing/flutter_lib |
- Navigate to the appropriate component directory (
app/,gateway/, orlib/) - Make your changes
- Commit and push changes within that component's git repository
- Each component maintains its own git history and workflow
To pull the latest changes from all component repositories:
./scripts/setup-dartwing-project.sh# Clone/update specific branch (default: develop)
./scripts/setup-dartwing-project.sh --branch feature/my-branch
# Skip running the update-project configuration script
./scripts/setup-dartwing-project.sh --skip-update-project
# Show help
./scripts/setup-dartwing-project.sh --help<project-root>/ (orchestrator)
├── bin/
│ ├── new-workspace.sh # Smart script resolver
│ └── del-workspace.sh # Smart script resolver
├── scripts/
│ └── setup-project.sh # Main setup script
├── README.md # This file
├── docs/ # Documentation
├── .gitignore # Excludes cloned components
│
├── app/ # Flutter mobile app (cloned)
│ └── .devcontainer/ # Development environment
│
├── gateway/ # .NET backend service (cloned)
│ ├── .devcontainer/ # Development environment
│ └── src/ # Source code
│
├── lib/ # Shared Flutter library (cloned)
│ ├── core/ # Core utilities
│ ├── network/ # API clients
│ └── gui/ # UI components
│
└── frappe/ # Frappe ERP integration (cloned)
├── workspaces/ # Multi-branch workspaces
├── scripts/ # Workspace management
└── .devcontainer/ # Development environment
- Git with SSH keys or HTTPS access to GitHub
- WSL/Linux environment (for the update-project script)
- Flutter SDK (configured by the setup process)
- .NET SDK (for gatekeeper service development)
- Modular Development: Each component can be developed, versioned, and deployed independently
- Clean Separation: Frontend, backend, and shared code are properly separated
- Easy Onboarding: New developers just need to run one script
- Consistent Environment: All developers get the same setup via update-project script
- Flexible Deployment: Components can be deployed to different environments independently
- CLAUDE.md - Guidance for AI assistants working with this codebase
- arch.md - Detailed architecture documentation
- Component READMEs - Each component directory has its own README with specific instructions
This orchestrator is designed to work with the Dartwingers development environment and toolchain. It integrates with:
- DevBench development environment
- Update-project configuration scripts
- Azure DevOps repositories
- WSL-based development workflow
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.