Flutter Stats is a software tool designed to estimate the size of applications created using the Flutter framework. It allows users to upload datasets containing software project metrics and builds a regression model to predict the number of lines of code based on the number of classes, methods, and dependencies.
- Upload datasets with software project metrics.
- Build and use regression models to estimate lines of code.
- Predict the number of lines of code for given numbers of classes, methods, and dependencies.
- Developed using Flutter and Dart.
- Compatible with Web and Windows operating system.
This project uses the following GitHub package:
- Flutter SDK: Install Flutter
- Dart SDK: Install Dart
-
Clone the repository:
git clone https://github.com/shebnik/flutter_stats.git cd flutter_stats
-
Get dependencies:
flutter pub get
-
Run the application:
flutter run
- Upload Dataset: Use the interface to upload a dataset containing metrics such as the number of classes, methods, dependencies, and lines of code.
- Build Regression Model: The application will build a regression model based on the uploaded dataset.
- Predict Lines of Code: Input the number of classes, methods, and dependencies to predict the number of lines of code.
You can use the web version of the application here.
Local build for Windows available in the releases.
flutter_stats/
├── lib/
│ ├── main.dart
│ ├── models/
│ ├── services/
│ ├── ui/
│ └── utils/
├── test/
├── README.md
└── pubspec.yaml
lib/main.dart
: Entry point of the application.lib/models/
: Contains data models.lib/services/
: Contains business logic and service classes.lib/ui/
: Contains UI components.lib/utils/
: Contains utility functions and helpers.test/
: Contains metrics datasets and python scripts for testing.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature-branch
. - Make your changes.
- Commit your changes:
git commit -m 'Add some feature'
. - Push to the branch:
git push origin feature-branch
. - Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.