# H2O App Development Plan
## Features
### Strategy Writing
- Write strategies
- Compile .rain into Rainlang
- REPL-like experience
### Testing
- For GUI/CLI
- Providing context and inputs to get final stack
- Onchain `eval2`.
- On CLI only
- Tool for Monte Carlo simulations and mocking
- Mocking of values in strategies
- Export test results in some kind of standard format for stacks, CSV
### Order Management
- View
- Add orders
- Remove orders
### Vault Management
- View
- Deposit
- Withdraw
### Reporting
- Track vault balance changes over specified time period
- Track list of clear transactions against specific orders
- Export reports to standard CSV
## Plan
### CLI and GUI Synchronization
- Mirror all features across CLI and GUI
- Services callable from GUI via Webserver endpoints
- Shared crates for both CLI and Webserver endpoints
### Integration and Testing
- Develop CLI and GUI features in parallel
- Crates, endpoints and GUI components fully tested
- CI/CD setup for integration testing
### Documentation
- Updated documentation for CLI/GUI usage.
- Documentation for crates and Webserver API.