CCI 8hour Problem
Click here to load reader
-
Upload
awin-peter -
Category
Documents
-
view
5 -
download
0
description
Transcript of CCI 8hour Problem
-
8HourStartup
EventSchedule
Time Event Details8:00 Team sign-
in/introduction Teams sign in. The packages describing the 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 prototypes/Start working on presentations
Judges start analyzing prototypes. A team representative should be ready to answer any questions on their prototype
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_ProjectPrePresentation(10%beyondbasescore)Howwelldidthegrouppresenttheirprototypetopotentialinvestors?EnvironmentProvided:Networkingaccessviastandardcampus 'guest'wirelessaccessonports80and443.Otherportsmaynotbeavailable.2laptopsforeachteam:15inMacbookPro,2GBmemory,2.16GhzDuoCore,110GBharddrivespace1stlaptopWindowsServer2008runningthelatestWindowswebserverandDatabaseserver.VisualStudio2008willbeinstalledaswell.Laptopwillhavewirelessenabled.
-
Moredetails:Framework3.5.visualstudio2008,windowserver2003standard.MS.net frame work 2.0 sp2,M S office system runtime 3.0, MS SQL server compact3.5.MSSQLservercompact3.5designedtool,Windowsmobile5.0SQLr2forpocketpc,MS device emulator version 3.0,MS SQL server 2005 express version, CrystalreportsbasicforVS2008,MSwindowsSQLforwindows,MSwindowsSDKforVS2008frameworktool(x86),MsSQLpublishingwizard.,COM+access,Javanetbean6.71withTomcatserver,.JavaDB10.4.2.1,IIS,SMTP2ndlaptopLAMPserverLateststableversionsofLinux,Apache,MySqlandPHPwillbeinstalled,runningonstandardcommonports.Tomcatwillalsobeinstalledandrunningonport8080.NetbeansIDEwillalsobeinstalled.Debian5.03,mysqlv.5,php5,tomcat5.5,apache2.2DefaultDirectoriestoLoadFiles:Apache/var/www,Tomcat/usr/share/tomcat5.5webappsPorts 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.
-
ProblemStatementOverviewPleaserereadallinformationintheprecompetitionpackage.
YouaretaskedwithdesigninganddevelopingaserversideInformedTravelAssistant (ITA) application. ITA will be a mashup of Kayak, a travelapplication;FlickrorPicasa,photoapplicationandEventful,aneventqueryapplication.ITAallowsausertochooseageographicalregionfortravel,lookatpicturesoftheregionfromthephotoapplicationandtouristeventsoftheregion. The user can then make trip (flight) reservations based on acombinationofprice,photoandevent information.Yourapplicationshouldautomaticallyconnecttotherelevantwebsitesanddatabases.Thecodewillbegradedonfunctionality,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 Theapplicationshouldallowausertologintoanexistingaccountinmemoryortocreateanewaccount.o Loginrequirestheuseofausernameandpasswordforverification.o Registrationrequirestheinputofadesiredusernameandpassword,aswellafieldforconfirmingthepassword.o Youmustprovidevalidationofregistrationandloginforms(e.g.Theuser must not be able to register a new account if the desiredusernamealreadyexistsasanotheraccount'susername).o If an error occursduring the validation, pleaseprovide amethodofalertingtheuseroftheerror(e.g.pagetext,popupbox,etc.).o You must provide a method for the user to logout. This can be aseparatepageorintegratedintotheloginpage.o SuccessfulloginshouldleadtotheITAquerypage
ITAquerypageo Thepagehasa link tohistoryofpreviousvisitsandresultsof last5querieso The page has a query form which takes input about the followingcriteria:
! TravelDates:DepartureandArrivalDates! CurrentLocation! Destination:GeographicalLocation(E.g.Florida,Madagascar).It is a good idea to create a table containing differentgeographicallocations,couldbestatesandmajorcitiesineachstate.
o Theformshouldcheckformissingandmalformedinformationo PressingtheSubmitbuttonshouldleadtotheresultspage
-
Resultspage:
o DisplaysatableinthefollowingformatGeographicalLocation:Florida(FL)
City AirportCode
Cheapest
Flight
Pictures Events Action
Miami MIA $299 Link Link ConfirmFortLauderdale FLL $400 Link Link ConfirmWest PalmBeach PBI $199 Link Link ConfirmOrlando MCO $200 Link Link ConfirmTampa TPA $300 Link Link ConfirmThe results page shows the results obtained for each city in the selectedgeographicallocation.Notethatyoushouldobtainthecheapesttickettoflytoeachcitybasedonthedatesselectedinthequerypage.SinceyouwillbeusingtheKayakAPI to obtain the flight prices, you should pay close attention to the Kayak APIauthentication and query specification, as Kayak provides a search id for eachsubmittedquerythathastobepolledrepeatedlytoobtainthesearchresults. YoumightconsiderusingAjaxtoenablethepolling forthedifferentcities. Clickingonpictures link should lead to a pagewith pictures of the city. Use Flickr or PicasaPhotosAPItogeneratetoqueryandgeneratethispage.Clickingontheeventslinkshouldleadtoapageshowingthemostpopulareventsinthiscityduringtheperiodof 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 areencouragedtohavethesearchprocessworkcorrectlyforatleastoneofthecriteria(cost/pictures/events)andthentoincrementallyaddtheothertwocriteria.o Transactionpage:
o Display current transaction information, allowing for entry of creditcard information. Fields must include account holder name, creditcardnumberandexpirationdate.
o Confirmationpage:
-
o ThispagemustdisplayalltheinformationfromtheTransactionpageexcept for the credit card information and message on result oftransaction.Deliverables:
1. Hourly updates on flip chart of design anddevelopment process including strategy changeswhenappropriate.
2. Working application on the laptop provided to theteam. One team member will demo the app to thejudges.
3. A10minutepowerpointpresentationoftheproduct.