Professional Documents
Culture Documents
Mini Project Report
Mini Project Report
Mini Project Report
Submitted to
RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA
BHOPAL (M.P)
Department of CSE
Lakshmi Narain College of Technology, Bhopal (M.P.)
Session 2023-24
1
LAKSHMI NARAIN COLLEGE OF TECHNOLOGY, BHOPAL
DEPARTMENT OF CSE
CERTIFICATE
This is to certify that the work embodied in this project work entitled “The Random
Roulette” has been satisfactorily completed by the
Krishan Kumar Dwivedi[0103CS221202]
Harshit Malviya [0103CS221164]
Goutam Singh Sumbria [0103CS221155]
It is a Bonafede piece of work, carried out under the guidance in Department of
CSE, Lakshmi Narain College of Technology, Bhopal for the partial fulfilment of
the Bachelor of Technology during the academic year 2023-2024.
Approved By
2
LAKSHMI NARAIN COLLEGE OF TECHNOLOGY, BHOPAL
DEPARTMENT OF CSE
ACKNOWLEDGEMENT
A special thank goes to Dr. Sadhna Mishra (HOD) who helped us in completing this
project work. She exchanged her interesting ideas & thoughts which made this
project successful.
We would also thank our institution and all the faculty members without whom this
project would have been a distant reality.
Date: 06-12-2023
Place: Bhopal
Signature
3
INTRODUCTION
ABSTRACT
This project stemmed from the imperative need to create an application that
addresses the challenges inherent in unbiased decision-making, particularly when
genuine randomness is paramount. The objective was clear: to develop a tool that
provides truly random results, free from the influence of personal biases or past
outcomes. Moreover, the application needed to be universally accessible, catering
to users across various platforms.
4
facilitated the development of a consistent user interface but also expedited the
development cycle through features such as hot reload. The decision to leverage
Flutter was driven by our commitment to breaking down platform barriers and
ensuring the Random Roulette app's availability to a diverse user base.
As we continue to enhance and refine the application, the utilization of Flutter and
Dart remains instrumental in delivering a seamless, unbiased, and universally
accessible decision-making experience. This abstract encapsulates the key aspects
of our project, highlighting the fusion of technology and purpose to meet the dual
objectives of unbiased decision-making and cross-platform inclusivity.
5
INDEX
8. Coding 20-22
10. References 24
6
CHAPTER-1
7
CHAPTER-2
LITERATURE SURVEY
2.1 Introduction:
8
User Experience (UX) and User Interface (UI) Design:
We used Figma for our basic UI and UX design and for graphics we used adobe
Illustrator.
CHAPTER-3
9
1. Unbiased Decision-Making: Develop algorithms and functionalities
within the app to ensure that decision outcomes are genuinely random
and free from any external influences.
2. Cross-Platform Accessibility: Utilize the Flutter framework with Dart
programming language to create a cross-platform application compatible
with various operating systems, including Android and iOS. The goal is
to make the Random Roulette app universally accessible to a diverse
user base.
3. User-Friendly Interface: Design an intuitive and user-friendly interface
for the application to enhance the overall user experience. Prioritize
simplicity in navigation to cater to users with varying levels of
technological expertise.
4. Feature Integration: Implement key features such as Dice Roller for
random choices, Coin Flipper for coin toss simulations, and Num Gen
for generating random numbers within specified ranges. Ensure seamless
integration and functionality of each feature.
5. Continual Enhancement: Lay the groundwork for ongoing
improvements and updates to the application. Consider user feedback
and emerging technologies to refine features, enhance performance, and
maintain the relevance and effectiveness of the Random Roulette app.
By achieving these objectives within the defined scope, the project aims to
deliver a robust, unbiased decision-making tool accessible to users across
diverse platforms.
10
CHAPTER-4
Problem Analysis:
1. Biased Decision-Making:
• Issue: Individuals often face challenges in making unbiased
decisions due to inherent feelings, preferences, or influences
from past outcomes.
• Impact: Biased decision-making can lead to suboptimal
choices, affecting personal and professional outcomes.
2. Lack of Random Decision Tools:
• Issue: Existing decision-making tools may lack true
randomness, relying on predictable patterns or algorithms.
• Impact: Users seeking genuinely random outcomes may find
current tools inadequate for their needs.
3. Limited Cross-Platform Accessibility:
• Issue: Many decision-making applications are platform-
specific, limiting accessibility for users on different
operating systems.
• Impact: Exclusion of potential users and a lack of universal
availability for the tool.
4. Complex Decision-Making Scenarios:
• Issue: Some decision scenarios involve both simple choices
and numerical considerations, requiring a versatile solution.
• Impact: Users may need multiple tools or applications to
address diverse decision-making needs.
Requirements Specification:
1. Functional Requirements:
• Unbiased Decision Algorithms:
• Implement algorithms to ensure true randomness in
decision outcomes.
11
• Dice Roller:
• Develop a feature for simulating random dice rolls for
decision-making.
• Coin Flipper:
• Create a feature for replicating the randomness of a
coin toss.
• Num Gen (Random Number Generator):
• Implement a feature to generate random numbers
within specified ranges.
2. Cross-Platform Compatibility:
• Flutter Framework:
• Utilize Flutter for cross-platform development.
• Ensure compatibility with Android and iOS operating
systems.
3. User Interface (UI) Design:
• Intuitive Design:
• Design a user-friendly interface for seamless
navigation.
• Prioritize simplicity to cater to users with varying
technological expertise.
4. Security and Privacy:
• Data Protection:
• Implement measures to protect user data and ensure
privacy.
• Avoid the storage or sharing of sensitive information.
5. Scalability and Performance:
• Efficient Resource Utilization:
• Optimize code and resources for efficient performance.
• Ensure the application remains responsive and scalable
with potential feature expansions.
6. Feedback Mechanism:
• User Feedback Integration:
• Include a mechanism for users to provide feedback.
• Use feedback for continuous improvement and feature
enhancements.
12
7. Documentation:
• User Guide:
• Develop comprehensive documentation for users.
• Provide clear instructions on how to use each feature.
By addressing these requirements, the Random Roulette app aims to
provide users with an unbiased, versatile, and accessible decision-
making tool, catering to a diverse range of decision scenarios.
13
CHAPTER-5
1. Modelling:
Use Case Diagram:
• Actors:
• User: Interacts with the application to utilize decision-making features.
• Use Cases:
• Make Random Decision:
• Description: User triggers the process to generate a random decision.
• Access Dice Roller:
• Description: User accesses the Dice Roller feature for random dice
outcomes.
• Access Coin Flipper:
• Description: User accesses the Coin Flipper feature for simulating coin
tosses.
• Access Num Gen:
• Description: User accesses the Num Gen feature to generate random
numbers.
Activity Diagram:
• Make Random Decision:
• Steps:
1. User initiates the decision-making process.
2. Application randomly selects a decision outcome.
3. Result is displayed to the user.
Sequence Diagram:
• Access Dice Roller:
• Steps:
1. User requests access to Dice Roller.
2. Application presents Dice Roller interface.
3. User triggers the dice roll.
4. Application generates a random dice outcome.
5. Result is displayed to the user.
2. Entity-Relationship Diagram (ERD):
Entities:
• User
14
• Decision
• Dice Outcome
• Coin Outcome
• Random Number
Relationships:
• User Makes Decision:
• Connects User to Decision (Many-to-Many)
• Indicates the decisions made by each user.
• Decision Involves Dice Outcome:
• Connects Decision to Dice Outcome (One-to-One)
• Links each decision to its associated dice outcome.
• Decision Involves Coin Outcome:
• Connects Decision to Coin Outcome (One-to-One)
• Links each decision to its associated coin outcome.
• Decision Involves Random Number:
• Connects Decision to Random Number (One-to-One)
• Links each decision to its associated random number.
3. Data Flow Diagram (DFD):
Processes:
• Generate Random Decision:
• Inputs: User request
• Outputs: Decision outcome
• Description: Orchestrates the decision-making process, involving Dice
Roller, Coin Flipper, and Num Gen.
• Access Dice Roller:
• Inputs: User request
• Outputs: Dice outcome
• Description: Manages the process of simulating a dice roll.
• Access Coin Flipper:
• Inputs: User request
• Outputs: Coin outcome
• Description: Manages the process of simulating a coin toss.
• Access Num Gen:
• Inputs: User request
• Outputs: Random number
• Description: Manages the process of generating a random number.
15
CHAPTER-6
HARDWARE/SOFTWARE
PLATFORM ENVIRONMENT
16
• Android (version 5.0 and above)
• iOS (version 10 and above)
2. Cross-Platform Framework:
• Flutter
3. Programming Language:
• Dart
4. Integrated Development Environment (IDE):
• Visual Studio Code with Flutter and Dart extensions
5. Database:
• SQLite for local storage
6. Version Control:
• Git for source code versioning
Platform Environment:
The Random Roulette app leverages the power of Flutter, a cross-platform framework, to
create a unified platform environment. This choice ensures that the application functions
seamlessly across different platforms, maintaining a consistent look and feel. The
platform environment encompasses:
1. Cross-Platform Framework:
• Flutter
2. User Interface (UI) Design:
• Material Design for Android
• Cupertino Design for iOS
3. Compatibility:
• Android smartphones and tablets
• iOS devices (iPhone and iPad)
4. Development Workflow:
• Hot reload feature for quick development iterations
• Flutter's UI toolkit for building a consistent user interface across platforms
By adhering to these hardware and software specifications and leveraging the Flutter
framework for cross-platform development, the Random Roulette app ensures a broad
reach and optimal performance across diverse devices and operating systems.
17
CHAPTER-7
18
19
CHAPTER-8
CODING
20
21
CHAPTER-9
1. Internet Dependency:
• The application requires an internet connection for the initial
download and updates, if applicable. Offline functionality
may be limited.
2. Device Compatibility:
• While the app aims for broad compatibility, certain older
devices with limited hardware specifications may experience
reduced performance.
22
3. Security Constraints:
• The application focuses on simplicity and does not
implement advanced security features. Users are advised not
to rely on the app for critical or sensitive decisions.
4. Limited Decision-Making Tools:
• The current version offers three main decision-making tools
(Dice Roller, Coin Flipper, and Num Gen). Future updates
may expand these tools based on user feedback and demand.
5. Local Storage:
• The app utilizes SQLite for local storage. While this ensures
lightweight data storage, it might limit scalability for users
with extensive decision histories.
6. Platform-Specific Features:
• Certain platform-specific features or design elements may
not be fully exploited due to the cross-platform nature of the
application.
Future Scope:
1. Enhanced Decision-Making Tools:
• Introduce new decision-making tools based on user feedback
and evolving user needs, expanding the application's
versatility.
2. Cloud Integration:
• Implement cloud-based storage for decision histories,
allowing users to access their data across multiple devices
and ensuring a seamless experience.
3. Advanced Security Features:
• Integrate additional security measures to safeguard user data,
especially if the app evolves to handle more sensitive
information.
4. Customization Options:
• Provide users with the ability to customize the application's
interface, themes, and decision-making parameters,
enhancing the personalization aspect.
5. Collaborative Decision-Making:
23
• Explore features that allow multiple users to participate in
decision-making processes collaboratively, adding a social
dimension to the app.
6. Machine Learning Integration:
• Investigate the integration of machine learning algorithms to
enhance the randomness and unpredictability of decision
outcomes.
7. Localization and Globalization:
• Expand language support and consider cultural nuances to
make the app more accessible and user-friendly on a global
scale.
8. Accessibility Features:
• Incorporate accessibility features to ensure the app is usable
by individuals with varying abilities, making it inclusive for
a diverse user base.
9. Integration with Third-Party Apps:
• Explore partnerships or integrations with other applications,
allowing users to import decision-making scenarios from
their favourite productivity or entertainment apps.
10. Data Analytics:
• Implement analytics tools to provide users with insights into
their decision-making patterns over time, fostering self-
awareness.
By addressing these future scope considerations, the Random Roulette
app aims to evolve into a comprehensive, user-centric tool that adapts to
emerging trends in decision-making preferences and technological
advancements.
24
CHAPTER-10
REFERENCES
25