SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
CONTENTS
Chapter
No.
Name Page No.
1. Introduction 2
2. Java Fx
2.1 Why java FX
2.2 Java FX application
2.3 Key Features
3-5
3
3
4
3. Software Development Methodology.
3.1 Life Cycle Model
3.2 Spiral Model
6-7
6
7
4. Software Requirement Specification.
4.1 Introduction:
4.2 Benefits
8
5. Data Flow Diagram. 9
6. Interface Module. 11
7. The GUI Of The Brainify App.
7.1 Home screen.
7.2 Player Information.
7.3 Menu.
7.4 Admin Login.
7.5 Levels.
12-17
8. Administrator.
8.1 Admin Login.
19
9. Score. 21
10. Summary. 22
11. Bibliography. 23
ABSTRACT
The Brainify App as the name suggests it seems to be like puzzle
application but it is not so, it’s a very simple and innovative application.
We can compare it with Quiz application which can have four options
and out of which one is correct, yes it is so but it’s different.
Now let’s see was on our minds’ when we thought of this, we wanted to
make a different application, that must be user interactive as well as fun to play,
an application into which we can implement anything the limit would be our
imagination, so the idea of The Brainify app came up.
We wanted to have these features in it:-
 Time limit
 Better GUI
 Different input Controls
 Animation
 User Interactive
 Different ways of answering
So, that’s how the idea turns into reality and here we are describing about
it.
1
The Brainify App
1. Introduction
The Brainify App is an application mainly designed being
developed from the begining until the end in a proper manner. In the Easy
Mode there was little or no animation being provided but in Intermediate
Mode the animation methodology began and questions framing
methodology has been totally changed in each and every questions it
being changed from easier to harder, then there comes the Advance Mode
where the interaction of the user with objects began, now in this mode the
user is able to control the object via input hardware buttons from
keyboard etc.
This is very simple and innovative application , it’s Logic and it is
what we implemented in it and we needed a powerful tool and comes out
to be JavaFx as for GUI and JavaS2E for backend logics.
✓ javafx.application: This package defines the core class on which all
JavaFX applications depend: Application.
✓ javafx.stage: The most important class in this package is Stage class, which
defines the top-level container for all user interface objects. Stage is a JavaFX
application’s highest-level window, within which all the application’s user-
interface elements are displayed.
✓ javafx.scene: The most important class in this package is the Scene class,
which is a container that holds all the user interface elements displayed by the
program.
✓ javafx.scene.layout: This package defines a special type of userinterface
element called a layout manager. The job of a layout manager is to determine
the position of each control displayed in the user interface.
✓ javafx.scene.control: This package contains the classes that define
individual user interface controls such as buttons, text boxes, and labels. The
Click Me program uses just one class from this package: Button, which
represents a button that the user can click.
2
2. JavaFX
2.1 Why JavaFx?
In the beginning there was AWT, the Abstract Window Toolkit. AWT was
Java’s first system for displaying window-based user interfaces in Java.
AWT begat Swing, which soon became the preferred way to create userfriendly
applications in Java.
But then there was JavaFX, the worthy successor to the GUI throne.
JavaFX is designed to create stunning user interfaces that can run on a wide
variety of devices, including traditional desktop and portable computers, tablets,
smartphones, TV set-top boxes, game consoles, and many other types of
devices.
Until recently, JavaFX was the red-headed stepchild of the Java world. It
coexisted with Java, but wasn’t an official part of Java. But beginning with Java
version 8, JavaFX is now fully integrated into Java. And while JavaFX and
Swing coexist today, Oracle has made it clear that Swing is in its twilight and
JavaFX represents the future of user-interface programming.
2.2 JavaFX Applications
Since the JavaFX library is written as a Java API, JavaFX application
code can reference APIs from any Java library. For example, JavaFX
applications can use Java API libraries to access native system capabilities and
connect to server-based middleware applications.
The look and feel of JavaFX applications can be customized. Cascading
Style Sheets (CSS) separate appearance and style from implementation so that
developers can concentrate on coding. Graphic designers can easily customize
the appearance and style of the application through the CSS. If you have a web
design background, or if you would like to separate the user interface (UI) and
the back-end logic, then you can develop the presentation aspects of the UI in
the FXML scripting language and use Java code for the application logic. If you
prefer to design UIs without writing code, then use JavaFX Scene Builder. As
you design the UI, Scene Builder creates FXML markup that can be ported to
an Integrated Development Environment (IDE) so that developers can add the
business logic.
3
2.3 Key Features
The following features are included in JavaFX 8 and later releases. Items
that were introduced in JavaFX 8 release are indicated accordingly:
■ Java APIs. JavaFX is a Java library that consists of classes and interfaces
that are written in Java code. The APIs are designed to be a friendly alternative
to Java Virtual Machine (Java VM) languages, such as JRuby and Scala.
■ FXML and Scene Builder. FXML is an XML-based declarative markup
language for constructing a JavaFX application user interface. A designer can
code in FXML or use JavaFX Scene Builder to interactively design the
graphical user interface (GUI). Scene Builder generates FXML markup that can
be ported to an IDE where a developer can add the business logic.
■ WebView. A web component that uses WebKitHTML technology to make
it possible to embed web pages within a JavaFX application. JavaScript running
in WebView can call Java APIs, and Java APIs can call JavaScript running in
WebView. Support for additional HTML5 features, including Web Sockets,
Web Workers, and Web Fonts, and printing capabilities have been added in
JavaFX 8.
See Adding HTML Content to JavaFX Applications.
■ Swing interoperability. Existing Swing applications can be updated with
JavaFX features, such as rich graphics media playback and embedded Web
content. The SwingNode class, which enables you to embed Swing content
into JavaFX applications, has been added in JavaFX 8. See the SwingNode API
javadoc and Embedding Swing Content in JavaFX Applications for more
information.
■ Built-in UI controls and CSS. JavaFX provides all the major UI controls
that are required to develop a full-featured application. Components can be
skinned with standard Web technologies such as CSS. The DatePicker and
TreeTableView UI controls are now available with the JavaFX 8 release. See
Using JavaFX UI Controls for more information. Also, the CSS Styleable*
classes have become public API, allowing objects to be styled by CSS.
■ Modena theme. The Modena theme replaces the Caspian theme as the
default for JavaFX 8 applications. The Caspian theme is still available for your
use by adding setUserAgentStylesheet(STYLESHEET_CASPIAN)
4
line in your Application start() method. For more information, see the Modena
blog at fxexperience.com
■ 3D Graphics Features. The new API classes for Shape3D (Box,
Cylinder, MeshView, and Sphere subclasses), SubScene,
Material, PickResult, LightBase (AmbientLight and
PointLight subclasses), and SceneAntialiasing have been added to
the 3D Graphics library in JavaFX 8.
■ Canvas API. The Canvas API enables drawing directly within an area of
the JavaFX scene that consists of one graphical element (node).
■ Printing API. The javafx.print package has been added in Java SE 8
release and provides the public classes for the JavaFX Printing API.
■ Rich Text Support. JavaFX 8 brings enhanced text support to JavaFX,
including bi-directional text and complex text scripts, such as Thai and Hindu in
controls, and multi-line, multi-style text in text nodes.
■ Multitouch Support. JavaFX provides support for multitouch operations,
based on the capabilities of the underlying platform.
■ Hi-DPI support. JavaFX 8 now supports Hi-DPI displays.
■ Hardware-accelerated graphics pipeline. JavaFX graphics are based on
the graphics rendering pipeline (Prism). JavaFX offers smooth graphics that
render quickly through Prism when it is used with a supported graphics card or
graphics processing unit (GPU). If a system does not feature one of the
recommended GPUs supported by JavaFX, then Prism defaults to the software
rendering stack.
■ High-performance media engine. The media pipeline supports the
playback of web multimedia content. It provides a stable, low-latency media
framework that is based on the GStreamer multimedia framework.
■ Self-contained application deployment model. Self-contained application
packages have all of the application resources and a private copy of the Java and
JavaFX runtimes. They are distributed as native installable packages and
provide the same installation and launch experience as native applications for
that operating system.
5
3. SOFTWARE DEVELOPMENT METHODOLOGY
The establishment and use of sound engineering principles in order to
obtain economically developed software that is reliable and works efficiently on
real machines is called software engineering.
Software engineering is the discipline whose aim is:
1. Production of quality software
2. software that is delivered on time
3. cost within the budget
4. satisfies all requirements.
Software process is the way in which we produce the software. Apart
from hiring smart, knowledgeable engineers and buying the latest development
tools, effective software development process is also needed, so that engineers
can systematically use the best technical and managerial practices to
successfully complete their projects.
A software life cycle is the series of identifiable stages that a software
product undergoes during its lifetime .A software lifecycle model is a
descriptive and diagrammatic representation of the software life cycle .A life
cycle model represents all the activities required to make a software product
transit through its lifecycle phases .It also captures the order in which these
activities are to be taken .
3.1 Life Cycle Models
There are various life cycle models to improve the software processes.
 WATERFALL MODEL
 PROTOTYPE MODEL
 ITERATIVE ENHANCEMENT MODEL
 EVOLUTIONARY MODEL
 SPIRAL MODEL
In this Project Spiral Model is being followed.
6
3.2 SPIRAL MODEL
The spiral model is a risk-driven process model generator for software
projects. Based on the unique risk patterns of a given project, the spiral model
guides a team to adopt elements of one or more process models, such
as incremental, waterfall, or evolutionary prototyping.
This model was first described by Barry Boehm in his 1986 paper "A
Spiral Model of Software Development and Enhancement". In 1988 Boehm
published a similar paper to a wider audience. These papers introduce a diagram
that has been reproduced in many subsequent publications discussing the spiral
model.
These early papers use the term "process model" to refer to the spiral
model as well as to incremental, waterfall, prototyping, and other approaches.
However, the spiral model's characteristic risk-driven blending of other process
models' features is already present.
7
4. Software Requirement Specification (SRS)
4.1 Introduction:
The following subsections of the SRS document provide an overview of
the entire SRS.
i) Purpose: The purpose of the project is to check the human intelligence
and how fast they work when there is time limitation and questions are asked
globally. In this application a single right question will score +1 marks and
wrong one will score -1 marks. Also there is database to store the result of each
player logged in with the time stamp. There is direct view for High Score from
the database.
ii) Scope: The scope of the application is to know the facts, the better
GUI implementation and approved logics. The questions provide different ways
of answering with the help of different controls available. Basically the
application is designed in such a way that from the starting of the Easy Mode
the user will get the simplest questions such as static images then moving to
complex ones as the questions difficulties increases.
Then later on in the Intermediate Mode the user needs to observe
carefully and focus on the animations being played and after 15sec later text box
appears the user will input in that text field and correct and wrong will proceed.
At last the player will be given a small interactive games where there is
automation of the negative -0.5 marks as timer reaches the limit, in this mode
there is no text field the user will play the game or interacts with the controls
provided, if that satisfies , the score will increase by +1 else -0.5.
4.2 Benefits:
This application reduces the manual work, maintaining accuracy,
increasing efficiency and enhancing intelligence. Also teaches the language in
such a simple at each next question the difficulty increases and hence the
implementation of logic increases, that’s the understanding of the language has
enhanced.
4.3 Overall Description: The Bainify Application is generally focused on a
man’s’ mind abilities, how does it works and what it is capable of. The more
you score the more capable you are.
4.4 Software Requirements:
 Windows 10.
 Java SE Development Kit 8.
 NetBeans IDE 8.1
8
5. DATA FLOW DIAGRAM
A DFD also known as ‘bubble chart’, has the purpose of clarifying system
requirements and identifying major transformations. It shows the flow of data
through a system. It is a graphical tool because it presents a picture. The DFD
may be partitioned into levels that represent increasing information flow and
functional detail. Four simple notations are used to complete a DFD. These
notations are given below:-
LEVEL ‘0’ DFD FOR THE BRAINIFY APPLICATION
APPLICATION
Administrator
Easy Mode
Intermediate Mode
Advance Mode
User
Database
9
LEVEL ‘1’ DFD FOR THE BRAINIFY APPLICATION
Admin Login
Easy Mode
Intermediate
Mode
Advance Mode
Advance
Control
Administrator
User Score
Result
10
0
6. Interface Module Diagram for The Brainify Application
Home
Form Admin LoginMenu
Play
Play Admin
Login
Instruction High score Credit
Easy Mode
Intermediate
Mode
Advance Mode
Marks
Close
Admin
Interactio
n
Advance Control
Exit
Database
Result
11
0
7. The GUI of The Brainify Application:
7.1 Home screen:
The home screen is the main window which appears as the application is
started , it is where from the interaction of a player to the Admin begins, the
player submit the form and begin and if it’s a user he needs to LOGIN from the
main window:
7.2 Player Information:
In form grid the player needs to enter the Name, Mobile and Email these
data are being saved under a file named as details.txt and later on during play
the marks being stored by the player is saved as data fields in this files including
time stamp for the time being duly noted , and when the user ends the game he
being shown the marks he obtained by reading the file details.txt
12
0
7.3 Menu
It’s the menu interface which calls the windows linked with buttons
such:-
Play: To begin playing
AdminLogin: To Login as administrator
How to Play: The information for the player being shown or the instruction for
playing.
High Score: This window shows the top ten marks of all the players played
with their names and time stamp.
Credits: This window shows under whom guidance the project being
completed and team members being involved.
7.4 Admin Login: For quick access to login page with advance controls.
Now the next page after user submits the data comes the Level window, in this
window user can choose any level categorized as:
13
0
Easy Mode:
Intermediate Mode:
Advance Mode:
Each of the levels contains 10 questions, and the questions complexity increases
as we move further. The animation begins at Intermediate Mode and User
Interaction at Advance Mode.
7.5 EasyMode:
The Easy Mode is the simplest of the entire mode it contains the basic use of
JavaFx controls, such as:
 Buttons
 Toggle-Button
 Slider
 Menu bar
 Drop Down Window
 Combo Box
 Check Box
The user interface for Easy Mode is shown below:
14
0
The features of Easy Mode:
Timer Bar: The Timer Bar is an automatic bar which is of 30 seconds, when it
get reaches it’s limit, it automatically moves up to next question.
Textual Questioning Area: This is the area where questions are appears in text
form.
Graphical Questioning Area: At this area the with the help of some dynamic or
even static GUI questions are framed and asked.
Answering Method: There are different ways of answering and drop down
menu is one of them, and it where it’s being used.
Confirmation Button: When user/player gets satisfied by his answer he can hit
the Confirm Button and hence proceed to next question.
Score Obtained: This is live display of score +1 for right choice and -1 for
wrong, and the score view increases or decreases as per the options or how
the user responds.
Exit: This exit button has been provided to exit for the user at any level.
7.6 Intermediate Mode:
This mode is the next mode after Easy Mode, after playing the Easy
Mode the player is prompted to Level Select Window where he/she can
choose the Intermediate Mode and begin playing.
Features of Intermediate Mode:
 Intermediate Mode contains animation
 After a time span of 15 sec a text box appears
 Alphabet or digit or word can be entred into the box
 The player can submit the answer by clicking the button below the text
field
 Visuals for Wrong and Right chose option being modified to images such
as tick for right and red cross for wrong
 In every questions the players to have patience and focus to score better
15
Structure of Intermediate Mode:
Question Area: It is the area where textual questions are framed means what
the animation is for.
Option/Answer: These are options containing or themselves answers and the
digits or characters indicated above them are the answers to be filled in the
text field.
TextField: It the area where after visualizing the entire animation being played
the user needs to input the answers there.
Submit Button: To finalize the answer and move next question the the player
needs to hit the button, to test his entry for correction and processing of next
question.
16
0
7.7 Advance Mode:
Advance Mode is the next mode after Intermediate Mode, it from where
better or alive logic begins. To play this mode the user needs to work and focus
a bit more.
In this mode there is no textbox or text field to input the answer, we got
a time span of 30 seconds into which we need do what we are asked for,
maybe playing game, typing passwords, shoot items hence if the player
achieve that goal before time expires , he/she wins the game else loose.
Structure of Advance Mode:
Timer Bar: It’s the time limit under which the task needs to be performed.
Question Area: This area indicates what task we are provided to do.
Score-- : If wrong action being performed the marks inside the current game
will be deducted with 1.
17
0
Score++ : If right action being performed the marks inside the current game
will be increased with 1.
Display current score: This area displays the score of current game in the
question locally.
Score: It displays the entire score the player achieves until now.
Close Button: At ant if user feels to exit the entire level, the button is for this
purpose.
Another example of Advance Mode:
In this question there is virtual keypad inbuilt in the questions itself for
proving the inputs. Hint being given so that user can think upon and enter
the correct answer via the virtual keypad.
END
18
0
8.0 Administrator
8.1 Admin Login Window:
This is the login where admin Logs In, it contains text fields for
Username and password if both are correct then admin can Logged In else
Login Failure.
In the admin mode the functionality of timer to automate transition of the
questions is being disabled and new controls being provided thus:
19
0
1. Previous Question: The button being provided at this process will move
to the previous question.
2. Reload: This control button being provided will reload the entire stage
of the question.
3. Next Question: The control Button being provided for this task moves
the scene to the next question.
4. Level Select: At any stage or at any question if user needs to move at any
mode’s questions then this control button does this work.
END
20
0
9.0 Score:
If the player plays well and is able to make a place in top ten his name
with time stamp and score will be shown in ending else not, but before reaching
this window the user will be shown his current score via a temporary screen if
he/she does not make any entry in top ten.
END
21
0
10. Summary:
Hence, the total summary of this application is that this application is
based on the language JavaFx for GUI, hence it’s been observed that it suppots
powerful GUI.
This application been developed from the begining until the end in a
proper manner. In the Easy Mode there was little or no animation being
provided but in Intermediate Mode the animation methodology began and
questions framing methodology has been totally changed in each and every
questions it being changed from easier to harder, then there comes the Advance
Mode where the interaction of the user with objects began, now in this mode the
user is able to control the object via input hardware buttons from keyboard etc.
Hence to conclude The Brainify App is having everything which makes
the application to stand alone.
It’s Logic is creative and the only limitation was our own IMAGINATION.
END
22
0
11. Bibliography
Books AND Whitepapers
1.Java
The Complete Reference (Ninth Edition)
-Herbert Schildt
2. JavaFX Getting Started with JavaFX, Release 8
-Oracle
3. JavaFx for dummies
-Doug Lowe
Websites
www.oracle.com
www.stackoverflow.com


23
0

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (16)

Java course-in-mumbai
Java course-in-mumbaiJava course-in-mumbai
Java course-in-mumbai
 
Project report for final year project
Project report for final year projectProject report for final year project
Project report for final year project
 
Java Programming : introduction
Java Programming : introductionJava Programming : introduction
Java Programming : introduction
 
Spring ppt
Spring pptSpring ppt
Spring ppt
 
Java programming(unit 1)
Java programming(unit 1)Java programming(unit 1)
Java programming(unit 1)
 
Java Programming
Java ProgrammingJava Programming
Java Programming
 
Building Enterprise Application with J2EE
Building Enterprise Application with J2EEBuilding Enterprise Application with J2EE
Building Enterprise Application with J2EE
 
Java session13
Java session13Java session13
Java session13
 
Multithreading in java
Multithreading in javaMultithreading in java
Multithreading in java
 
Netbeans gui tutorial
Netbeans gui tutorialNetbeans gui tutorial
Netbeans gui tutorial
 
Object oriented programming-with_java
Object oriented programming-with_javaObject oriented programming-with_java
Object oriented programming-with_java
 
J2ee
J2eeJ2ee
J2ee
 
Java server face tutorial
Java server face tutorialJava server face tutorial
Java server face tutorial
 
Java session2
Java session2Java session2
Java session2
 
Features of java unit 1
Features of java unit 1Features of java unit 1
Features of java unit 1
 
AD201 - IBM Domino Application Development Today And Tomorrow
AD201 - IBM Domino Application Development Today And TomorrowAD201 - IBM Domino Application Development Today And Tomorrow
AD201 - IBM Domino Application Development Today And Tomorrow
 

Ähnlich wie The Brainify App - JavaFx

Chapter 1 introduction to java technology
Chapter 1 introduction to java technologyChapter 1 introduction to java technology
Chapter 1 introduction to java technology
sshhzap
 
C,c++,java,php,.net training institute in delhi, best training institute for ...
C,c++,java,php,.net training institute in delhi, best training institute for ...C,c++,java,php,.net training institute in delhi, best training institute for ...
C,c++,java,php,.net training institute in delhi, best training institute for ...
MCM COmpetitive Classes
 
Netbeans
NetbeansNetbeans
Netbeans
acosdt
 

Ähnlich wie The Brainify App - JavaFx (20)

Complete Solution for JavaFX Development - NexSoftSys
Complete Solution for JavaFX Development - NexSoftSysComplete Solution for JavaFX Development - NexSoftSys
Complete Solution for JavaFX Development - NexSoftSys
 
Java fx
Java fxJava fx
Java fx
 
GUI design using JAVAFX.ppt
GUI design using JAVAFX.pptGUI design using JAVAFX.ppt
GUI design using JAVAFX.ppt
 
What is java fx?
What is java fx?What is java fx?
What is java fx?
 
Chapter 1 introduction to java technology
Chapter 1 introduction to java technologyChapter 1 introduction to java technology
Chapter 1 introduction to java technology
 
Java presentation
Java presentationJava presentation
Java presentation
 
C,c++,java,php,.net training institute in delhi, best training institute for ...
C,c++,java,php,.net training institute in delhi, best training institute for ...C,c++,java,php,.net training institute in delhi, best training institute for ...
C,c++,java,php,.net training institute in delhi, best training institute for ...
 
Advance java prasentation
Advance java prasentationAdvance java prasentation
Advance java prasentation
 
Netbeans
NetbeansNetbeans
Netbeans
 
Core Java Slides
Core Java SlidesCore Java Slides
Core Java Slides
 
JAVA ALL 5 MODULE NOTES.pptx
JAVA ALL 5 MODULE NOTES.pptxJAVA ALL 5 MODULE NOTES.pptx
JAVA ALL 5 MODULE NOTES.pptx
 
Java Programming
Java ProgrammingJava Programming
Java Programming
 
Core java slides
Core java slidesCore java slides
Core java slides
 
Analysis
AnalysisAnalysis
Analysis
 
Beyond The Buzz: Pluggable JavaFX Corporate Applications
Beyond The Buzz: Pluggable JavaFX Corporate ApplicationsBeyond The Buzz: Pluggable JavaFX Corporate Applications
Beyond The Buzz: Pluggable JavaFX Corporate Applications
 
Ch2
Ch2Ch2
Ch2
 
JavaFX 8 everywhere; write once run anywhere by Mohamed Taman
JavaFX 8 everywhere; write once run anywhere by Mohamed TamanJavaFX 8 everywhere; write once run anywhere by Mohamed Taman
JavaFX 8 everywhere; write once run anywhere by Mohamed Taman
 
java introduction.docx
java introduction.docxjava introduction.docx
java introduction.docx
 
Java ms harsha
Java ms harshaJava ms harsha
Java ms harsha
 
Introduction to Java Programming.pdf
Introduction to Java Programming.pdfIntroduction to Java Programming.pdf
Introduction to Java Programming.pdf
 

Kürzlich hochgeladen

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Kürzlich hochgeladen (20)

WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 

The Brainify App - JavaFx

  • 1. CONTENTS Chapter No. Name Page No. 1. Introduction 2 2. Java Fx 2.1 Why java FX 2.2 Java FX application 2.3 Key Features 3-5 3 3 4 3. Software Development Methodology. 3.1 Life Cycle Model 3.2 Spiral Model 6-7 6 7 4. Software Requirement Specification. 4.1 Introduction: 4.2 Benefits 8 5. Data Flow Diagram. 9
  • 2. 6. Interface Module. 11 7. The GUI Of The Brainify App. 7.1 Home screen. 7.2 Player Information. 7.3 Menu. 7.4 Admin Login. 7.5 Levels. 12-17 8. Administrator. 8.1 Admin Login. 19 9. Score. 21 10. Summary. 22 11. Bibliography. 23
  • 3. ABSTRACT The Brainify App as the name suggests it seems to be like puzzle application but it is not so, it’s a very simple and innovative application. We can compare it with Quiz application which can have four options and out of which one is correct, yes it is so but it’s different. Now let’s see was on our minds’ when we thought of this, we wanted to make a different application, that must be user interactive as well as fun to play, an application into which we can implement anything the limit would be our imagination, so the idea of The Brainify app came up. We wanted to have these features in it:-  Time limit  Better GUI  Different input Controls  Animation  User Interactive  Different ways of answering So, that’s how the idea turns into reality and here we are describing about it. 1
  • 4. The Brainify App 1. Introduction The Brainify App is an application mainly designed being developed from the begining until the end in a proper manner. In the Easy Mode there was little or no animation being provided but in Intermediate Mode the animation methodology began and questions framing methodology has been totally changed in each and every questions it being changed from easier to harder, then there comes the Advance Mode where the interaction of the user with objects began, now in this mode the user is able to control the object via input hardware buttons from keyboard etc. This is very simple and innovative application , it’s Logic and it is what we implemented in it and we needed a powerful tool and comes out to be JavaFx as for GUI and JavaS2E for backend logics. ✓ javafx.application: This package defines the core class on which all JavaFX applications depend: Application. ✓ javafx.stage: The most important class in this package is Stage class, which defines the top-level container for all user interface objects. Stage is a JavaFX application’s highest-level window, within which all the application’s user- interface elements are displayed. ✓ javafx.scene: The most important class in this package is the Scene class, which is a container that holds all the user interface elements displayed by the program. ✓ javafx.scene.layout: This package defines a special type of userinterface element called a layout manager. The job of a layout manager is to determine the position of each control displayed in the user interface. ✓ javafx.scene.control: This package contains the classes that define individual user interface controls such as buttons, text boxes, and labels. The Click Me program uses just one class from this package: Button, which represents a button that the user can click. 2
  • 5. 2. JavaFX 2.1 Why JavaFx? In the beginning there was AWT, the Abstract Window Toolkit. AWT was Java’s first system for displaying window-based user interfaces in Java. AWT begat Swing, which soon became the preferred way to create userfriendly applications in Java. But then there was JavaFX, the worthy successor to the GUI throne. JavaFX is designed to create stunning user interfaces that can run on a wide variety of devices, including traditional desktop and portable computers, tablets, smartphones, TV set-top boxes, game consoles, and many other types of devices. Until recently, JavaFX was the red-headed stepchild of the Java world. It coexisted with Java, but wasn’t an official part of Java. But beginning with Java version 8, JavaFX is now fully integrated into Java. And while JavaFX and Swing coexist today, Oracle has made it clear that Swing is in its twilight and JavaFX represents the future of user-interface programming. 2.2 JavaFX Applications Since the JavaFX library is written as a Java API, JavaFX application code can reference APIs from any Java library. For example, JavaFX applications can use Java API libraries to access native system capabilities and connect to server-based middleware applications. The look and feel of JavaFX applications can be customized. Cascading Style Sheets (CSS) separate appearance and style from implementation so that developers can concentrate on coding. Graphic designers can easily customize the appearance and style of the application through the CSS. If you have a web design background, or if you would like to separate the user interface (UI) and the back-end logic, then you can develop the presentation aspects of the UI in the FXML scripting language and use Java code for the application logic. If you prefer to design UIs without writing code, then use JavaFX Scene Builder. As you design the UI, Scene Builder creates FXML markup that can be ported to an Integrated Development Environment (IDE) so that developers can add the business logic. 3
  • 6. 2.3 Key Features The following features are included in JavaFX 8 and later releases. Items that were introduced in JavaFX 8 release are indicated accordingly: ■ Java APIs. JavaFX is a Java library that consists of classes and interfaces that are written in Java code. The APIs are designed to be a friendly alternative to Java Virtual Machine (Java VM) languages, such as JRuby and Scala. ■ FXML and Scene Builder. FXML is an XML-based declarative markup language for constructing a JavaFX application user interface. A designer can code in FXML or use JavaFX Scene Builder to interactively design the graphical user interface (GUI). Scene Builder generates FXML markup that can be ported to an IDE where a developer can add the business logic. ■ WebView. A web component that uses WebKitHTML technology to make it possible to embed web pages within a JavaFX application. JavaScript running in WebView can call Java APIs, and Java APIs can call JavaScript running in WebView. Support for additional HTML5 features, including Web Sockets, Web Workers, and Web Fonts, and printing capabilities have been added in JavaFX 8. See Adding HTML Content to JavaFX Applications. ■ Swing interoperability. Existing Swing applications can be updated with JavaFX features, such as rich graphics media playback and embedded Web content. The SwingNode class, which enables you to embed Swing content into JavaFX applications, has been added in JavaFX 8. See the SwingNode API javadoc and Embedding Swing Content in JavaFX Applications for more information. ■ Built-in UI controls and CSS. JavaFX provides all the major UI controls that are required to develop a full-featured application. Components can be skinned with standard Web technologies such as CSS. The DatePicker and TreeTableView UI controls are now available with the JavaFX 8 release. See Using JavaFX UI Controls for more information. Also, the CSS Styleable* classes have become public API, allowing objects to be styled by CSS. ■ Modena theme. The Modena theme replaces the Caspian theme as the default for JavaFX 8 applications. The Caspian theme is still available for your use by adding setUserAgentStylesheet(STYLESHEET_CASPIAN) 4
  • 7. line in your Application start() method. For more information, see the Modena blog at fxexperience.com ■ 3D Graphics Features. The new API classes for Shape3D (Box, Cylinder, MeshView, and Sphere subclasses), SubScene, Material, PickResult, LightBase (AmbientLight and PointLight subclasses), and SceneAntialiasing have been added to the 3D Graphics library in JavaFX 8. ■ Canvas API. The Canvas API enables drawing directly within an area of the JavaFX scene that consists of one graphical element (node). ■ Printing API. The javafx.print package has been added in Java SE 8 release and provides the public classes for the JavaFX Printing API. ■ Rich Text Support. JavaFX 8 brings enhanced text support to JavaFX, including bi-directional text and complex text scripts, such as Thai and Hindu in controls, and multi-line, multi-style text in text nodes. ■ Multitouch Support. JavaFX provides support for multitouch operations, based on the capabilities of the underlying platform. ■ Hi-DPI support. JavaFX 8 now supports Hi-DPI displays. ■ Hardware-accelerated graphics pipeline. JavaFX graphics are based on the graphics rendering pipeline (Prism). JavaFX offers smooth graphics that render quickly through Prism when it is used with a supported graphics card or graphics processing unit (GPU). If a system does not feature one of the recommended GPUs supported by JavaFX, then Prism defaults to the software rendering stack. ■ High-performance media engine. The media pipeline supports the playback of web multimedia content. It provides a stable, low-latency media framework that is based on the GStreamer multimedia framework. ■ Self-contained application deployment model. Self-contained application packages have all of the application resources and a private copy of the Java and JavaFX runtimes. They are distributed as native installable packages and provide the same installation and launch experience as native applications for that operating system. 5
  • 8. 3. SOFTWARE DEVELOPMENT METHODOLOGY The establishment and use of sound engineering principles in order to obtain economically developed software that is reliable and works efficiently on real machines is called software engineering. Software engineering is the discipline whose aim is: 1. Production of quality software 2. software that is delivered on time 3. cost within the budget 4. satisfies all requirements. Software process is the way in which we produce the software. Apart from hiring smart, knowledgeable engineers and buying the latest development tools, effective software development process is also needed, so that engineers can systematically use the best technical and managerial practices to successfully complete their projects. A software life cycle is the series of identifiable stages that a software product undergoes during its lifetime .A software lifecycle model is a descriptive and diagrammatic representation of the software life cycle .A life cycle model represents all the activities required to make a software product transit through its lifecycle phases .It also captures the order in which these activities are to be taken . 3.1 Life Cycle Models There are various life cycle models to improve the software processes.  WATERFALL MODEL  PROTOTYPE MODEL  ITERATIVE ENHANCEMENT MODEL  EVOLUTIONARY MODEL  SPIRAL MODEL In this Project Spiral Model is being followed. 6
  • 9. 3.2 SPIRAL MODEL The spiral model is a risk-driven process model generator for software projects. Based on the unique risk patterns of a given project, the spiral model guides a team to adopt elements of one or more process models, such as incremental, waterfall, or evolutionary prototyping. This model was first described by Barry Boehm in his 1986 paper "A Spiral Model of Software Development and Enhancement". In 1988 Boehm published a similar paper to a wider audience. These papers introduce a diagram that has been reproduced in many subsequent publications discussing the spiral model. These early papers use the term "process model" to refer to the spiral model as well as to incremental, waterfall, prototyping, and other approaches. However, the spiral model's characteristic risk-driven blending of other process models' features is already present. 7
  • 10. 4. Software Requirement Specification (SRS) 4.1 Introduction: The following subsections of the SRS document provide an overview of the entire SRS. i) Purpose: The purpose of the project is to check the human intelligence and how fast they work when there is time limitation and questions are asked globally. In this application a single right question will score +1 marks and wrong one will score -1 marks. Also there is database to store the result of each player logged in with the time stamp. There is direct view for High Score from the database. ii) Scope: The scope of the application is to know the facts, the better GUI implementation and approved logics. The questions provide different ways of answering with the help of different controls available. Basically the application is designed in such a way that from the starting of the Easy Mode the user will get the simplest questions such as static images then moving to complex ones as the questions difficulties increases. Then later on in the Intermediate Mode the user needs to observe carefully and focus on the animations being played and after 15sec later text box appears the user will input in that text field and correct and wrong will proceed. At last the player will be given a small interactive games where there is automation of the negative -0.5 marks as timer reaches the limit, in this mode there is no text field the user will play the game or interacts with the controls provided, if that satisfies , the score will increase by +1 else -0.5. 4.2 Benefits: This application reduces the manual work, maintaining accuracy, increasing efficiency and enhancing intelligence. Also teaches the language in such a simple at each next question the difficulty increases and hence the implementation of logic increases, that’s the understanding of the language has enhanced. 4.3 Overall Description: The Bainify Application is generally focused on a man’s’ mind abilities, how does it works and what it is capable of. The more you score the more capable you are. 4.4 Software Requirements:  Windows 10.  Java SE Development Kit 8.  NetBeans IDE 8.1 8
  • 11. 5. DATA FLOW DIAGRAM A DFD also known as ‘bubble chart’, has the purpose of clarifying system requirements and identifying major transformations. It shows the flow of data through a system. It is a graphical tool because it presents a picture. The DFD may be partitioned into levels that represent increasing information flow and functional detail. Four simple notations are used to complete a DFD. These notations are given below:- LEVEL ‘0’ DFD FOR THE BRAINIFY APPLICATION APPLICATION Administrator Easy Mode Intermediate Mode Advance Mode User Database 9
  • 12. LEVEL ‘1’ DFD FOR THE BRAINIFY APPLICATION Admin Login Easy Mode Intermediate Mode Advance Mode Advance Control Administrator User Score Result 10 0
  • 13. 6. Interface Module Diagram for The Brainify Application Home Form Admin LoginMenu Play Play Admin Login Instruction High score Credit Easy Mode Intermediate Mode Advance Mode Marks Close Admin Interactio n Advance Control Exit Database Result 11 0
  • 14. 7. The GUI of The Brainify Application: 7.1 Home screen: The home screen is the main window which appears as the application is started , it is where from the interaction of a player to the Admin begins, the player submit the form and begin and if it’s a user he needs to LOGIN from the main window: 7.2 Player Information: In form grid the player needs to enter the Name, Mobile and Email these data are being saved under a file named as details.txt and later on during play the marks being stored by the player is saved as data fields in this files including time stamp for the time being duly noted , and when the user ends the game he being shown the marks he obtained by reading the file details.txt 12 0
  • 15. 7.3 Menu It’s the menu interface which calls the windows linked with buttons such:- Play: To begin playing AdminLogin: To Login as administrator How to Play: The information for the player being shown or the instruction for playing. High Score: This window shows the top ten marks of all the players played with their names and time stamp. Credits: This window shows under whom guidance the project being completed and team members being involved. 7.4 Admin Login: For quick access to login page with advance controls. Now the next page after user submits the data comes the Level window, in this window user can choose any level categorized as: 13 0
  • 16. Easy Mode: Intermediate Mode: Advance Mode: Each of the levels contains 10 questions, and the questions complexity increases as we move further. The animation begins at Intermediate Mode and User Interaction at Advance Mode. 7.5 EasyMode: The Easy Mode is the simplest of the entire mode it contains the basic use of JavaFx controls, such as:  Buttons  Toggle-Button  Slider  Menu bar  Drop Down Window  Combo Box  Check Box The user interface for Easy Mode is shown below: 14 0
  • 17. The features of Easy Mode: Timer Bar: The Timer Bar is an automatic bar which is of 30 seconds, when it get reaches it’s limit, it automatically moves up to next question. Textual Questioning Area: This is the area where questions are appears in text form. Graphical Questioning Area: At this area the with the help of some dynamic or even static GUI questions are framed and asked. Answering Method: There are different ways of answering and drop down menu is one of them, and it where it’s being used. Confirmation Button: When user/player gets satisfied by his answer he can hit the Confirm Button and hence proceed to next question. Score Obtained: This is live display of score +1 for right choice and -1 for wrong, and the score view increases or decreases as per the options or how the user responds. Exit: This exit button has been provided to exit for the user at any level. 7.6 Intermediate Mode: This mode is the next mode after Easy Mode, after playing the Easy Mode the player is prompted to Level Select Window where he/she can choose the Intermediate Mode and begin playing. Features of Intermediate Mode:  Intermediate Mode contains animation  After a time span of 15 sec a text box appears  Alphabet or digit or word can be entred into the box  The player can submit the answer by clicking the button below the text field  Visuals for Wrong and Right chose option being modified to images such as tick for right and red cross for wrong  In every questions the players to have patience and focus to score better 15
  • 18. Structure of Intermediate Mode: Question Area: It is the area where textual questions are framed means what the animation is for. Option/Answer: These are options containing or themselves answers and the digits or characters indicated above them are the answers to be filled in the text field. TextField: It the area where after visualizing the entire animation being played the user needs to input the answers there. Submit Button: To finalize the answer and move next question the the player needs to hit the button, to test his entry for correction and processing of next question. 16 0
  • 19. 7.7 Advance Mode: Advance Mode is the next mode after Intermediate Mode, it from where better or alive logic begins. To play this mode the user needs to work and focus a bit more. In this mode there is no textbox or text field to input the answer, we got a time span of 30 seconds into which we need do what we are asked for, maybe playing game, typing passwords, shoot items hence if the player achieve that goal before time expires , he/she wins the game else loose. Structure of Advance Mode: Timer Bar: It’s the time limit under which the task needs to be performed. Question Area: This area indicates what task we are provided to do. Score-- : If wrong action being performed the marks inside the current game will be deducted with 1. 17 0
  • 20. Score++ : If right action being performed the marks inside the current game will be increased with 1. Display current score: This area displays the score of current game in the question locally. Score: It displays the entire score the player achieves until now. Close Button: At ant if user feels to exit the entire level, the button is for this purpose. Another example of Advance Mode: In this question there is virtual keypad inbuilt in the questions itself for proving the inputs. Hint being given so that user can think upon and enter the correct answer via the virtual keypad. END 18 0
  • 21. 8.0 Administrator 8.1 Admin Login Window: This is the login where admin Logs In, it contains text fields for Username and password if both are correct then admin can Logged In else Login Failure. In the admin mode the functionality of timer to automate transition of the questions is being disabled and new controls being provided thus: 19 0
  • 22. 1. Previous Question: The button being provided at this process will move to the previous question. 2. Reload: This control button being provided will reload the entire stage of the question. 3. Next Question: The control Button being provided for this task moves the scene to the next question. 4. Level Select: At any stage or at any question if user needs to move at any mode’s questions then this control button does this work. END 20 0
  • 23. 9.0 Score: If the player plays well and is able to make a place in top ten his name with time stamp and score will be shown in ending else not, but before reaching this window the user will be shown his current score via a temporary screen if he/she does not make any entry in top ten. END 21 0
  • 24. 10. Summary: Hence, the total summary of this application is that this application is based on the language JavaFx for GUI, hence it’s been observed that it suppots powerful GUI. This application been developed from the begining until the end in a proper manner. In the Easy Mode there was little or no animation being provided but in Intermediate Mode the animation methodology began and questions framing methodology has been totally changed in each and every questions it being changed from easier to harder, then there comes the Advance Mode where the interaction of the user with objects began, now in this mode the user is able to control the object via input hardware buttons from keyboard etc. Hence to conclude The Brainify App is having everything which makes the application to stand alone. It’s Logic is creative and the only limitation was our own IMAGINATION. END 22 0
  • 25. 11. Bibliography Books AND Whitepapers 1.Java The Complete Reference (Ninth Edition) -Herbert Schildt 2. JavaFX Getting Started with JavaFX, Release 8 -Oracle 3. JavaFx for dummies -Doug Lowe Websites www.oracle.com www.stackoverflow.com   23 0