DrawX is a Flutter application that allows users to create a custom live chart with options and their associated probabilities. Users can add, edit, or remove options, and view the results of their spins.
- Add options with their probabilities
- Edit options and probabilities
- Remove options
- Spin the live chart
- View results of spins
-
Ensure that you have Flutter and the Dart SDK installed on your machine.
-
Clone the repository:
git clone https://github.com/yourusername/DrawX.git
-
Move into the project directory:
cd DrawX
-
Install the dependencies:
flutter pub get
-
Run the app on an emulator or a connected device:
flutter run
Project Name: DrawX
Graphical Abstract
app icon:
Purpose of the Software
We have chosen the Agile software development process for this project.
We chose Agile over Waterfall due to its iterative and flexible approach, allowing us to adapt to changes and deliver working software more quickly. Agile promotes collaboration and continuous improvement, making it suitable for our project.
This Windows-based Flutter application can be used for cross-platform app development, targeting users who require a versatile solution for both mobile and desktop platforms.
Development Process:
- Requirements gathering and analysis
- Design and architecture
- Implementation and coding
- Testing and validation
- Deployment and maintenance
- Requirements gathering and analysis (Week 1-2)
- Design and architecture (Week 3-4)
- Implementation and coding (Week 5-10)
- Testing and validation (Week 11-12)
- Deployment and maintenance (Week 13 onwards)
Given a list of prizes and a corresponding list of probabilities, where the sum of probabilities equals 1.
When the user clicks the spin button, a random number is generated within the range of [0, 1).
The cumulative probabilities for each prize are calculated based on the probability list. The random number is then compared with the cumulative probabilities to determine the winning prize.
The rotation angle is calculated to stop at the winning prize.
The roulette wheel is rotated, and the winning prize is returned to the user after the rotation stops.
In summary, the algorithm of this app relies on probabilities and random numbers to determine the winning prize by computing the probability distribution and simulating the randomness of the rotation.
- Implement additional features based on user feedback.
- Optimize the codebase for better performance.
- Ensure compatibility with future Flutter and Windows updates.
- Demo YouTube URL
- Environments of the software development and running
- Programming language: C++, Dart
- Minimum H/W requirements: [Specify minimum hardware requirements]
- Minimum S/W requirements: Windows 10, Flutter SDK
- Required packages: flutter_windows
- Declaration
- Open-source packages used: Flutter SDK, Windows API
This project was developed in collaboration with the following group members:
- Leo
- Echo
- Kindson
- Shine
- Paris
This project is licensed under the MIT License. See the LICENSE file for more details.