Professional Documents
Culture Documents
Summer Report
Summer Report
Summer Report
Training Report
Of
Summer Training Project At
StreetHack
Submitted
In the Partial Fulfillment of
Bachelor of Technology
Department of Computer Science
Guru Gobind Singh Indraprastha University
Certificate ............................................................................................................................................... ii
1. Company Profile
........................................................................................................................... 1
2. Technology/Theory
...........................................................................................................................4
1.1. Introduction to Dart …..................................................................................................... 4
3. Project
……….................................................................................................................19
1.1. Object ............................................................................................................................. 19
1.4. Description...................................................................................................................... 20
4. References
………....................................................................................................................... 23
COMPANY PROFILE
Website
http://streethack.org
Headquarters
Delhi
Year founded
2018
Company size
2-10 employees
Specialties
data science, web development, Mobile App - Android, iOs app
development, Blockchain, Graphic Designing, and Human
Computer Interaction
Recent Works
INTRODUCTION TO DART-
This page shows you how to use each major Dart feature, from
variables and operators to classes and libraries, with the
assumption that you already know how to program in another
language.
Effective Dart
Over the past several years, we’ve written a ton of Dart code and
learned a lot about what works well and what doesn’t. We’re
sharing this with you so you can write consistent, robust, fast
code too. There are two overarching themes:
A Sample Code-:
// Define a function.
printInteger(int aNumber) {
main() {
}
INTROUCTION TO FLUTTER-
$ flutter doctor
$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter
(Channel beta, v0.5.1, on Mac OS X 10.13.6 17G65, locale en-
US)
[✓] Android toolchain - develop for Android devices
(Android SDK 28.0.0)
[✓] iOS toolchain - develop for iOS devices (Xcode 9.4)
[✓] Android Studio (version 3.1)
[✓] IntelliJ IDEA Community Edition (version 2018.2.1)
[✓] Connected devices (1 available)
• No issues found!
With enough check marks, you can create a Flutter app. Let’s call
it charts:
charts
android
ios
lib
main.dart
About sixty files have been generated, making up a complete
sample app that can be installed on both Android and iOS. We’ll
do all our coding in main.dart and sibling files, with no pressing need
to touch any of the other files or directories.
You should verify that you can launch the sample app. Start an
emulator or plug in a device, then execute
$ flutter run
in the charts directory. You should then see a simple counting app
on your emulator or device. It uses Material Design widgets, which
is nice, but optional. As the top-most layer of the Flutter
architecture, those widgets are completely replaceable.
Our simple app shows two central aspects of the Flutter widget
concept in action:
MaterialApp (navigation)
ChartPage (state management)
Scaffold (layout)
Center (layout)
Text (text)
FloatingActionButton (user interaction)
Icon (graphics)
Our charts app will stay simple in terms of widget structure, but
we’ll do a bit of animated custom graphics. First step is to replace
the textual representation of each data set with a very simple
chart. Since a data set currently involves only a single number in
the interval 0..100, the chart will be a bar chart with a single bar,
whose height is determined by that number. We’ll use an initial
value of 50 to avoid a null height:
CustomPaint is a widget that delegates painting to
a CustomPainter strategy. Our implementation of that strategy draws a
single bar.
Next step is to add animation. Whenever the data set changes, we
want the bar to change height smoothly rather than abruptly.
Flutter has an AnimationController concept for orchestrating
animations, and by registering a listener, we’re told when the
animation value — a double running from zero to one — changes.
Whenever that happens, we can call setState as before and
update ChartPageState.
USERS-
There are two basic users -:
1. Players
2. Organizer
SCOPE-
All Players have their own clues solved page.
Clues will appear after previous clue is solved.
Hints will be given to players after the 5 minutes of problem
started.
It uses images to verify whether the answer is correct or not.
It is paperless (QR Code etc things not required).
MODULES-
Starting Page
Timer when App is started
Clues Management
Hints Screen
Camera Screen
Machine Learning Algorithm on Images whether the image is
correct or not
TECHNOLOGY TO BE USED
Android Studio
Vision API
Anaconda
Camera for Recording Clues
Spider
Channels for flutter
ROLES OF USERS
Players - Check clue 1 and try to solve it. After 5 minutes
Hint will appear. After solving Clue1 players can check out
second clue and so on.
Organizers – They have to add Images of solutions of clues
and the sequence of clues. (At least 10 images are
required).
DESCRIPTION
We can check out the workflow in following
sequence -:
1. This screen will appear first.
flutter.io
customvision.ai
stackoverflow.com
dartlang.org
medium.com/flutter-io
https://codelabs.developers.google.com/codelabs