Skip to content

opensoft/Dartwing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dartwing Orchestration

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.

Quick Start

  1. Clone this repository:

    git clone [this-repo-url] dartwing
    cd dartwing
  2. 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

Project Components

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

Development Workflow

Making Changes

  1. Navigate to the appropriate component directory (app/, gateway/, or lib/)
  2. Make your changes
  3. Commit and push changes within that component's git repository
  4. Each component maintains its own git history and workflow

Updating to Latest

To pull the latest changes from all component repositories:

./scripts/setup-dartwing-project.sh

Setup Script Options

# 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

Architecture

<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

Requirements

  • 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)

Benefits of This Approach

  • 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

Documentation

  • 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

Support

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

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

About

Flutter Framework for rapid mobile app development with specKit

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages