CCI 8hour Problem

8

Click here to load reader

description

ghsds

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.