Skip to content

banghuazhao/CompositesAI-flutter

Repository files navigation

CompositesAI

Version Platform App Store Google Play

Note: This repository was previously known as swiftcomp-flutter and the app as SwiftComp. It was renamed to CompositesAI to better reflect the AI-first direction of the project.

CompositesAI is an AI-powered platform designed specifically for the composites engineering industry. Ask questions about material design, calculations, and process optimization in natural language — and get instant, expert-level answers.

The app is available for iOS, Android, and the web at compositesai.com.

Features

  • AI chat assistant for composites engineering — ask anything and get domain-specific answers instantly.
  • Voice input — dictate questions hands-free.
  • Image and file attachments — add context to your conversations.
  • Lamina stress/strain calculator for a single layer with arbitrary fiber orientation.
  • Lamina engineering constants calculator.
  • Laminate stress/strain calculator.
  • Laminate plate properties calculator, including ABD matrices.
  • Laminate 3D properties calculator.
  • UDFRC rules-of-mixtures calculator for unidirectional fiber-reinforced composites.
  • Account flows for sign in, sign up, password reset, profile settings, and provider sign-in.
  • Localized UI for English, Simplified Chinese, and Traditional Chinese.

Screenshots

CompositesAI screenshot 1 CompositesAI screenshot 2 CompositesAI screenshot 3 CompositesAI screenshot 4

Tech Stack

  • Flutter and Dart
  • Provider for app state
  • GetIt for dependency injection
  • Local packages for domain, data, infrastructure, and shared UI components
  • composite_calculator for composite mechanics calculations
  • speech_to_text for voice input
  • image_picker for photo and file attachments
  • Fastlane metadata and lanes for mobile release workflows

Requirements

  • Flutter stable. CI currently uses Flutter 3.41.7.
  • Dart >=3.3.0 <4.0.0.
  • Xcode and CocoaPods for iOS builds.
  • Android Studio or Android SDK tooling for Android builds.

The repository includes an .fvmrc that tracks the Flutter stable channel. If you use FVM:

fvm install
fvm flutter pub get

Project Structure

lib/
  app/                  App shell and dependency injection
  generated/            Generated localization files
  l10n/                 ARB localization sources
  presentation/         Chat, tools, auth, and settings UI
  util/                 Shared app utilities
packages/
  domain/               Use cases, entities, and repository contracts
  data/                 Repository implementations and API-facing data logic
  infrastructure/       Auth, HTTP, token, feature flag, and platform services
  ui_components/        Shared reusable UI widgets
test/                   App-level widget and view model tests
integration_test/       Integration test entry point
android/                Android app and Fastlane config
ios/                    iOS app and Fastlane config

Getting Started

  1. Clone the repository:
git clone https://github.com/banghuazhao/CompositesAI-flutter.git
cd CompositesAI-flutter
  1. Create local configuration files as needed. At minimum, local development and CI expect a .env file to exist:
touch .env

The app also declares msal_config.json as an asset for Microsoft authentication. Keep environment-specific credentials out of commits.

  1. Install dependencies:
flutter pub get
  1. Run the app:
flutter run

Select an iOS simulator, Android emulator/device, or supported web target when prompted.

Quality Checks

Run the same checks used by CI:

flutter analyze --no-fatal-infos --no-fatal-warnings
flutter test

Downloads

Contributing

Contributions are welcome. Please read CONTRIBUTING.md before submitting a pull request.

License

CompositesAI is released under the MIT License. See LICENSE for details.

About

Cross-platform Flutter app for composite materials engineering with SwiftComp calculators and an AI chat assistant.

Topics

Resources

License

Contributing

Stars

12 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages