WebTrit Phone is a feature-rich application designed for seamless communication.
Use the following setup to ensure compatibility with this branch:
- Flutter: 3.32.4 (stable channel)
- Android SDK: 35.0.1
Please align your local environment with these versions for consistent behavior across development and testing workflows.
- Environment: See the Environment documentation for details on environment properties.
- SSL Certificates: Refer to the SSL Certificates documentation for information on SSL certificate handling.
- Build Process: Learn more about build configurations in the Build documentation.
- Application Properties: Customize properties such as the Bundle ID and App Name in the Application Settings documentation.
- Application Launch Assets: Configure the application launch assets in the Launch Assets documentation.
- Localization: For information on localization settings, see Localizely.
The application offers extensive customization options:
- Color Scheme – Customize the application's color palette.
- Widgets – Configure UI widgets according to your needs.
- Pages – Customize pages and their layouts.
- Features – Enable or disable specific features.
- Custom Login – Implement a custom login page.
- Embedded pages – Implements embedded pages that extend the WebTrit app with custom web content.
- Build and run: See the Build and Run documentation for details on how to build and run the application.
- Flavors: See the Build Flavors documentation for details on how to configure and use build flavors.
- Melos Commands: See the Melos Commands for all available build, run, and automation commands.
- Development Workflow and Git Hooks: See the Development Guide for details on commit conventions, hook setup, and workflow tools.
- Run unit and widget tests:
flutter test
-
Framework: We use Patrol framework for integration testing. It helps us to automate native iOS and Android behaviors and simplifyes routine tasks during testing. You can find more information about it here: https://patrol.dev/ Integration tests are located in the
patrol_testfolder. -
Configuration: The configuration file
dart_define.integration_test.jsondefines all the environment variables (login credentials, contacts, user info, and call settings) for the integration tests. Integration Test Variables. -
Calls test: For simulating SIP calls during tests, here is pjsua Companion — an HTTP server that wraps the
pjsuaCLI to place and answer calls programmatically when app tests is running. -
Commands: See Integration Test Commands for all patrol build, run, Firebase Test Lab, and local companion commands.
-
Coverage: See Integration Test Coverage for a description of every test file and its steps.
We welcome contributions from the community! Please follow our contribution guidelines when submitting pull requests.
This project is licensed under the MIT License.
This project is tested with BrowserStack.