Home Cropped

SeniorQuoter is an installable web app in PHP which helps high school yearbooks collect quotes from seniors to be put in the school's yearbook. Read more...

SeniorQuoter Version 2 Alpha 2

Ten revisions and two days later, Alpha 2 has a lot of bug fixes in it. In addition, I have finally linked and added icons for all of the pages. Setup should go much smoothly as I have added a lot of error checking code in there. Plus some more fixes here and there. Quotes are now printed as "preformatted" to preserve line breaks. Every script has been edited for the making of this release!

However there is still a ways to go, including character encoding, debugging interface, multiquery setup, and several serious security flaws.

Download from SourceForge

Fixed

  • Setup error handling improved
  • Linking and icons
  • Add link to View Students in add_student.php
  • Change id to class for buttons in admin/admin_users.php
  • Fix spell check in config.php
  • Make button css in admin.css
  • Make register.php print success message in green
  • setup.php: Use new refresh code that works; Print out headers eariler, print out actual errors when checking config, put fresh links in saving config, and continue if it is there, fix printing of googiespell settings
  • Plaz added security features to invitations.php to require log in quote.php and quotes.php
  • output quote in "pre" tags to preserve formatting in quote.php and quotes.php
  • Fixed students.php link in delete_student.php
  • Fixed disable quotes for index.php No more ugly errors when $collect == FALSE!
  • Tested upload_pictures.php
  • Fixed colors.php to work much better
  • changed edit_quote.php and index.php so approval is NULL after edited
  • fixed edit_student.php so you can have any type of character in the homeroom field.
  • URL for hard refresh help
  • Add more error checking to setup.php
    • test DB connection
    • Add refresh links in a lot of places

SeniorQuoter Group Study Crew

The SQ Class Group
From right to left: Michael Gdovin, Sean Maguire, Michael Plasmeier, Shawn Ard, and Gary Hunt

SeniorQuoter Version 2.0alpha1

SeniorQuoter 2.0alpha1 is out!!!! This version still has a lot of bugs (and is missing a lot of links to features), but is feature complete! SeniorQuoter 2.0 was developed by the Group Study at Haverford High School: Michael Plasmeier, Michael Gdovin, Shawn Ard, Sean Maguire, and Gary Hunt.

This version is only recommended for testing (and it needs a lot of that!) There are still many bugs in SeniorQuoter, including several security vulnerabilities. Also many pages are not linked to each other. The team will be spending the next week fixing the bugs.

There will be more posts coming in the next few days listing the features of Version 2.0 and the new administration interface. Also, we made many changes to the database (and more to come possibly), so I wouldn't try to upgrade from version 1. Instead this is for developers to play around with so we can get SeniorQuoter ready for quote collection next year.

Download from SourceForge

View Bugs

New Bug

Or comment on this article.

Bugs

bug_id bug_severity priority op_sys bug_status resolution short_desc
28 normal P3 All NEW Add options to config file
30 normal P2 All NEW Menus not linked right
36 normal P3 All NEW Style SQ Log in page
38 normal P3 All NEW Make redirect a function
40 major P2 All NEW Secure forgot password
41 trivial P3 All NEW SeniorQuoter Fav icon
42 major P2 All NEW SQ: When a user is disabled - don't let them forget password
43 normal P3 All NEW SQ: Make Button-Link CSS
44 minor P3 All SQ: Nasty words dictionary
45 critical P2 All NEW SQ: Cookies go cross install
46 normal P3 All NEW SQ: "Date registered" is changed if a user is edited
55 minor P3 All NEW SQ: Set up Debugging interface
65 major P3 All NEW Funny character don't display right in quotes
66 enhancement P4 All NEW SQ: Sort by letter
70 normal P3 All NEW Color Picker doesn't work in IE7
71 normal P3 All NEW Upload not secure
72 normal P3 All NEW Remember Me Doesn't Work
75 normal P3 All NEW Double Quotes on view quotes page
77 normal P3 All NEW SQ: Unify character encoding
78 normal P3 All NEW PDF Invitations Bottom Half Uneven
81 normal P3 All NEW SQ: Invitations need Logo and style
84 normal P3 All NEW Add Students Needs to only Allow 10 digit codes
85 normal P3 All NEW Upload Picture Needs Refresh

SeniorQuoter Code Worth $ 41,153

I ran David A. Wheeler's 'SLOCCount' on 12/28/2007 and found that SeniorQuoter contained 3.66 person months of code. This would have cost $41,153 to develop had it not been written by volunteers.

Total Physical Source Lines of Code (SLOC) = 1,493
Development Effort Estimate, Person-Years (Person-Months) = 0.30 (3.66)
(Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months) = 0.34 (4.09)
(Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule) = 0.89
Total Estimated Cost to Develop = $ 41,153
(average salary = $56,286/year, overhead = 2.40).

12/14/2007 SQ Group Study Starts Work on SeniorQuoter

Our group study in web design at Haverford High School is going along fine. Last week we finished up learning PHP with database driven websites. All of the participants made their own "user registration" site. These sites had a register page, a list of users, ability to edit or delete a user, and the ability to log in and log off with session cookies. In addition, each participant customized their site using their knowledge of CSS to their favorite colors and fonts.

Mid-Term Presentations

Last Friday, we gave presentations to our sponsors in the school technology department showing off what we had been working on. Shawn Ard started off by talking about phpMyAdmin and showing off his own personal "Articus" user registration page he had been working on in his free time. Gary Hunt showed off his user's site and talked about it's use of a MySQL database. Sean Maguire showed off his email sending script and his tip calculator he made a few weeks before. Michael Gdovin used his time to show the "black hat" skills he learned with an "email spam" page and a page which would crash the browser when loaded. Michael Plasmeier, group leader, showed off his plans and design for the SeniorQuoter admin site.

P1020560

Assigning Jobs

This week the participants started working on the SeniorQuoter admin site. Each participant was assigned to be the lead on a particular feature for the first phase. Michael Gdovin will be working on the configuration and install pages. Gary Hunt will be working on the view quotes page and the approval system. Shawn Ard will be working on the Colors and Design sections. Sean Maguire will work on the authentication and admin users. The managing students and passwords section is still open. Michael Plasmeier will coordinate and assist the other participants.

The Week of 12/10/2007

The week got off to an uneven start as Michel Plasmeier rushed to get the framework for the new admin site up and issuing test accounts on his new server. However, it was still a productive week as the team got used to using Subversion to track revisions.

Micheal Plasmeier

Michael Plasmeier designed the site (using the Wordpress admin theme) and installed the basic framework. This week Michael started to think about the paths SeniorQuoter would run on and he learned how to write a "flat-file" configuration page.
SeniorQuoter Homepage
Admin Theme CSS

Shawn Ard

Shawn Ard cleaned up the interface a bit and started to work on his color configuration page. This page will allow schools to easily customize SeniorQuoter to their school's colors. In the future, this page will have a color wheel (from Drupal) to assist color selection.
SeniorQuoter Colors
Color Page Code so far

Sean Maguire

Sean Maguire is building the authentication and admin users section. This week he designed the database schema and built the registration, view users, and edit users page.

	 CREATE TABLE `admin_users` ( 	 
	   `id` int(10) NOT NULL auto_increment, 	 
	   `first_name` varchar(20) NOT NULL, 	 
	   `last_name` varchar(30) NOT NULL, 	 
	   `email` varchar(100) NOT NULL, 	 
	   `password` char(40) NOT NULL, 	 
	   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, 	 
	   `authorized_by` int(10) NOT NULL, 	 
	   `lastlogonIP` int(10) NOT NULL, 	 
	   PRIMARY KEY  (`id`), 	 
	   UNIQUE KEY `email` (`email`) 	 
	 ) ENGINE=MyISAM;

SeniorQuoter Register
SeniorQuoter Admin User
Admin Users Page

Gary Hunt

Gary Hunt finished the listing of quotes page very fast because he clearly knows what he is doing. After that, he started to work on an "approval" system and designed the additional database schema for the system. He will implement this next week.
SeniorQuoter List Quotes
View Quotes Page Code

Michael Gdovin

Michael Gdovin built the configuration page for SeniorQuoter. This page will collect things like the name of the school and quote length limit and output them into a static configuration file.
SeniorQuoter Config Page
Config Page Code

(A daily can be found on ThePlaz.com)

Syndicate content