Engineering Projects In Community Service Matt Mooney Community Based Research University of Notre Dame
Overview EPICS Red Cross site preview HTML/CSS PHP and MySQL Subversion Google Code Website management –FTP –Cpanel –PHPMyAdmin Model-View-Controller
EPICS Engineering Projects in the Community 1 Credit CSE/Technical Elective Flexible Hours Service Learning Opportunity Provide meaningful service to community using computer skills (that would otherwise be very expensive)
EPICS Activities Database Design and Management (MySQL) Website Design and Maintenance (HTML, PHP, some JavaScript) Commitment: Weekly Meeting ~ 1 hour Discuss progress during the week Discuss future plans and goals Allocate tasks for the week Individual Work ~ 3 hours
EPICS Talking Points During Interviews Management Skills Service to the Community Real-world Application of Material Above All: Providing a meaningful and essential service to an organization in need of assistance
Red Cross Disaster Database St Joe’s County wanted to have quick access to disaster resources Previous system involved a single laptop computer with one excel spreadsheet Solution: Build a normalized database with a user-friendly web interface –Flexible: easy to upgrade or change interface –Mobile: accessible from laptop or smartphone –Stable: Redundancy and Backup!
disaster.stjoe-redcross.org
HTML/CSS HyperText Markup Language –The way web pages have been written for years –HTML 4.01 Transitional Compliant Cascading Style Sheets –New method to manage the style or “look” of a website to change it quickly –CSS 2.1 Compliant
PHP and MySQL PHP is an open-source server-side scripting language that (in our case) builds dynamic web pages to reflect user requests MySQL is an open source Database Management System
Subversion Subversion is an open-source revision control system This allows us (the developers) to simultaneously work on the same project While Subversion is very powerful, we only need a few features: –Checkout: Get an initial copy of the code from server –Update: Get other users’ changes from server –Commit: Add your latest changes to server
Google Code is a Project Hosting platform for open-source projects Features include: –SVN hosting/management –Downloads hosting –Integrated Wiki –Issues (bug) tracker
Website Management FTP –File Transfer Protocol –FileZilla (open source) cPanel –Common website management tools PHPMyAdmin –Interactive database GUI
Updating Methodology Real site: disaster.stjoe-redcross.org –dbconfig.php : “disaster_respon” Test: disaster.stjoe-redcross.org/Matt_Test –Dbconfig.php : “disaster_testdb” This allows us to test fixes/enchancements without breaking the site Once a features is tested, THEN it is committed Milestones are tested, then copied to root folder
MVC Architecture Model –Database (raw info) View –HTML/CSS Controller –PHP Logic Queries Responses Dynamic webpage generation via PHP Putting it all together Presenting it to the user Input from user
In Closing Review Developer Documentation: –Skim over the User Manual portion –Focus on the developer tools sections Don’t be afraid to ask questions: (until Nov 5 th
Questions?