Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

8HourStartup

EventSchedule
Time

Event

Details

8:00

Team
sign- Teams sign in. The packages describing the
in/introduction
challenge will be distributed to the teams. The
environment explained to teams

8:15

Start

Read problem, start working. The teams will


work in an open environment.

Noon-ish

Lunch

A catered lunch will be served. There will be


no official break fro lunch. The teams may
break as they feel appropriate

14:15

Complete/freeze
Judges start analyzing prototypes. A team
prototypes/Start
representative should be ready to answer any
working
on questions on their prototype
presentations

15:15

Team presentations

Each team presents their 10 minute pitch for


their project. Teams will present in random
order

16:15

Complete
Presentations

Presentation one, judges will finish evaluations

16:45

Awards

Winners announced

Refreshmentswillbeavailablethroughoutmorningandafternoon

RoughScoringGuidelines:

Usability(30%ofbasescore)

Caneachusereasilyaccessandmanipulateeachfunctionordatascreen?
Isnavigationeasyandasintuitiveaspossible?
Doesthesystemrecoverfromerrors(specificallyusererrors)

Functionality(40%ofbasescore)

Havealltherequirementsofthesystembeenimplemented?
Arethereextrainterestingfeatures?

Security(30%ofbasescore)

Isthesystemsecure?
Isinputvalidated?
AreSQLinjectionspossible?

Asfarassecurityjudgingcriteria,IwesuggestadherencetotheOWASPtoptenlist:
http://www.owasp.org/index.php/Category:OWASP_Top_Ten_ProjectPre

Presentation(10%beyondbasescore)

Howwelldidthegrouppresenttheirprototypetopotentialinvestors?

Environment

Provided: Networking access via standard campus 'guest' wireless access on ports
80and443.Otherportsmaynotbeavailable.

2laptopsforeachteam:15inMacbookPro,2GBmemory,2.16GhzDuoCore,110GB
harddrivespace

1stlaptopWindowsServer2008runningthelatestWindowswebserver
andDatabaseserver.VisualStudio2008willbeinstalledaswell.
Laptopwillhavewirelessenabled.

Moredetails:Framework3.5.visualstudio2008,windowserver2003standard.MS
.net frame work 2.0 sp2,M S office system runtime 3.0, MS SQL server compact
3.5.MSSQLservercompact3.5designedtool,Windowsmobile5.0SQLr2forpocket
pc, MS device emulator version 3.0, MS SQL server 2005 express version, Crystal
reportsbasicforVS2008,MSwindowsSQLforwindows,MSwindowsSDKforVS
2008frameworktool(x86),MsSQLpublishingwizard.,COM+access,Javanetbean
6.71withTomcatserver,.JavaDB10.4.2.1,IIS,SMTP

2ndlaptopLAMPserverLateststableversionsofLinux,Apache,
MySqlandPHPwillbeinstalled,runningonstandardcommonports.
Tomcatwillalsobeinstalledandrunningonport8080.NetbeansIDE
willalsobeinstalled.Debian5.03,mysqlv.5,php5,tomcat5.5,apache2.2
DefaultDirectoriestoLoadFiles:Apache/var/www,Tomcat
/usr/share/tomcat5.5webapps
Ports for applications: Tomcat - 8080, Apache - 80

UseofPreExistingCode:
Use of open source code is permitted. Note that this does not imply that a
completely working open source canned solution can be copied and submitted
as your work. If open source modules are used the use is expected to be
properly documented in the code modules as well as documented in all support
documentation. The external document should note:
Where the code was obtained:
o URL
o Authors
o Download site, etc
Type of code:
o Source Code
o Utility
Where the code was implemented
o What part of your project used the code
The use of commercial products or packages other than that supplied by
the competition is not allowed. Exception: the products available from
MSDNAA are allowed for the competition
If in doubt ask the staff. Rough guidelines: Items like Java, Eclipse, Netbeans,
etc. are legal. Products like WebSphere, IBM UBB are not allowed. The idea is
that hard to obtain or expensive products to give one team is not allowed so that
no one team has an unfair advantage.

DevelopmentEnvironment:
Development will be done in an open area, that is, you can see and your
competitors and they can see and hear you. Plan appropriately.
This is also a forum to motivate general student interest in programming and web
based application development. Each team is encouraged to work out your
design ideas and approach on a flip chart so that others students (not
participating in the competition) can see the teams approach. The visitors will not
be allowed to interrupt the participants. Each team should update the flip chart
with their design and development status every hour. You could sell your
product by the way you describe this process and it will contribute to you
presentation grade.
Discussions with the staff will be open unless asked to be discreet. The expert
will give consistent answers as possible, will not withhold information from any
team, but will not divulge directly the essence of discreet conversations with
competitors. For example. If a team has what they feel is an interesting extension
to the problem they may discreetly ask the expert if that feature is useful. The
staff will not then suggest the idea to other teams to implement. That does not
preclude other teams from having the same or similar idea and the expert giving
a consistent answer to all teams that ask.


ProblemStatement
Overview
Pleaserereadallinformationintheprecompetitionpackage.

YouaretaskedwithdesigninganddevelopingaserversideInformedTravel
Assistant (ITA) application. ITA will be a mashup of Kayak, a travel
application;FlickrorPicasa,photoapplicationandEventful,aneventquery
application.ITAallowsausertochooseageographicalregionfortravel,look
atpicturesoftheregionfromthephotoapplicationandtouristeventsofthe
region. The user can then make trip (flight) reservations based on a
combinationofprice,photoandeventinformation.Yourapplicationshould
automaticallyconnecttotherelevantwebsitesanddatabases.Thecodewill
begradedonfunctionality,userfriendlinessandsecurity.

Wrappers:
o Kayak Search API (http://www.kayak.com/labs/api/search/):
Kayak
provides a web API for searching airline tickets and available hotel
reservations. Please make sure to apply for a Kayak API key as it may
take a couple of days until your key gets activated. Please check the
multistage request/response Kayak API search and session management
requirements at (http://www.kayak.com/labs/api/search/spec.html).
o Flickr API (http://www.flickr.com/services/api/): The Flickr API consists
of a set of callable methods, and APIs to enable the querying of the Flickr
photos infrastructure. Please make sure to apply for a Flickr API key and
check the documentation for mechanisms to query locations for photos.
o Picasa API
(http://code.google.com/apis/picasaweb/overview.html)
allows for websites and programs to integrate with Picasa Web Albums,
enabling users to create albums, upload and retrieve photos, comment on
photos, and more!
o Eventful API (http://api.eventful.com/docs): The Eventful API enables
the querying of events based on event types, location, performers, time
and users. Please apply for an Eventful API key and check the provided
tutorials to get familiarized with the API access details.

Theapplicationhasthefollowingrequirements:

Registration,LoginandLogoutpage
o Theapplicationshouldallowausertologintoanexistingaccountin
memoryortocreateanewaccount.
o Loginrequirestheuseofausernameandpasswordforverification.
o Registrationrequirestheinputofadesiredusernameandpassword,
aswellafieldforconfirmingthepassword.
o Youmustprovidevalidationofregistrationandloginforms(e.g.The
user must not be able to register a new account if the desired
usernamealreadyexistsasanotheraccount'susername).
o If an error occurs during the validation, please provide a method of
alertingtheuseroftheerror(e.g.pagetext,popupbox,etc.).
o You must provide a method for the user to logout. This can be a
separatepageorintegratedintotheloginpage.
o SuccessfulloginshouldleadtotheITAquerypage

ITAquerypage
o The page has a link to history of previous visits and results of last 5
queries
o The page has a query form which takes input about the following
criteria:
!

TravelDates:DepartureandArrivalDates

CurrentLocation

Destination: Geographical Location (E.g. Florida, Madagascar).


It is a good idea to create a table containing different
geographicallocations,couldbestatesandmajorcitiesineach
state.

o Theformshouldcheckformissingandmalformedinformation
o PressingtheSubmitbuttonshouldleadtotheresultspage

Resultspage:

o Displaysatableinthefollowingformat

GeographicalLocation:Florida(FL)
City

Airport
Code

Cheapest

Miami

MIA

Fort
Lauderdale
West
Beach

Pictures

Events

Action

$299

Link

Link

Confirm

FLL

$400

Link

Link

Confirm

Palm PBI

$199

Link

Link

Confirm

Flight

Orlando

MCO

$200

Link

Link

Confirm

Tampa

TPA

$300

Link

Link

Confirm

The results page shows the results obtained for each city in the selected
geographicallocation.Notethatyoushouldobtainthecheapesttickettoflytoeach
citybasedonthedatesselectedinthequerypage.SinceyouwillbeusingtheKayak
API to obtain the flight prices, you should pay close attention to the Kayak API
authentication and query specification, as Kayak provides a search id for each
submittedquerythathastobepolledrepeatedlytoobtainthesearchresults.You
mightconsiderusingAjaxtoenablethepollingforthedifferentcities.Clickingon
pictures link should lead to a page with pictures of the city. Use Flickr or Picasa
PhotosAPItogeneratetoqueryandgeneratethispage.Clickingontheeventslink
shouldleadtoapageshowingthemostpopulareventsinthiscityduringtheperiod
of your visit in the specific city. Use the eventful API to generate these results.
Clicking on the confirm pages leads to the final transaction page. Teams are
encouragedtohavethesearchprocessworkcorrectlyforatleastoneofthecriteria
(cost/pictures/events)andthentoincrementallyaddtheothertwocriteria.

o Transactionpage:

o Display current transaction information, allowing for entry of credit


card information. Fields must include account holder name, credit
cardnumberandexpirationdate.

o Confirmationpage:

o ThispagemustdisplayalltheinformationfromtheTransactionpage
except for the credit card information and message on result of
transaction.

Deliverables:

1. Hourly updates on flip chart of design and


development process including strategy changes
whenappropriate.
2. Working application on the laptop provided to the
team. One team member will demo the app to the
judges.
3. A10minutepowerpointpresentationoftheproduct.

You might also like