190 likes | 313 Views
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.
E N D
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!
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 Responses Queries 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: • mmooney3@gmail.nd.edu (until Nov 5th) • mmooney3@alumni.nd.edu