ProgFest 2005 Platform Matthew Nelson December 10, 2005 CSULA
Introduction Annual programming competition Community colleges and high schools Web application organizes event and manages communication
Motivation Judging prone to human error Inconsistent and difficult to navigate Unstable Poor persistence design Teams unable to share files
Users Registrants –Read competition information –Add school –Register team
Users Contestants –Ask questions to judges –View responses to questions –Submit problem solutions –View team ranking –Share files with teammates
Users Judges –Respond to unanswered questions –Score pending submissions
Technology J2EE JSP and Servlets Spring Framework HibernatePostgreSQL Jakarta Commons
Development Tools Ant Jakarta Tomcat EclipseSubversion
Architecture Presentation Tier –Spring MVC Framework –JSP Business Tier –POJOs Persistence Layer –DAOs –Hibernate –Spring Transaction Management
Presentation Tier JSP/Servlet Container Spring Dispatcher Servlet ControllersJSP Views Interceptors DAO Interface Application Configuration
Business Tier School Team SubmissionQuestion Contestant DAO Interface
Persistence Layer DAO Interface Spring Transaction Proxy DAO Implementation Hibernate Spring Hibernate Templates Mapping Configuration PostgreSQL Schema
Security Inter-team communication –Unanswered questions are hidden –Declarative authentication model Outside interaction –Team passwords provided at sign-in –IP blocking Full event log
Future Work Administrator Console Time Interval Management Feedback mechanism Suggested improvements –acm.calstatela.edu/forum
Call for Volunteers MarketingProctoringJudging Parking Information Sign-in … Food Distribution … Food Distribution Saturday, February 19, 2005 Contact Dr. Pamula