Creating My First OSS Project: Due Dates

PROJECT: Due Dates
TEAM: Tyler Wolff and Scheller Sanchez (team gold)
OVERALL CONCEPT: Due Dates is a program that will go and retrieve information about various items that you (the user) have borrowed, including their due dates. The application can be used for library books, videos, or anything else with a due date, and it can be extended to any source that has an online login. As the tag line states – “Never pay a late fee again!”
projecthome
project homepage view

THE SYSTEM
For the first version of Due Dates, my partner, Scheller and I decided to implement a system for use with only one library – the University of Hawaii at Manoa Library.  This would enable any UH student to use our application to view what books they have borrowed and which ones are due, thus making it a useful system (Prime directive #1). We decided to do this with the addition of some extendible features to expand the functionality in the future. For this stage of our program, it would include these classes.
  • LibraryVault – an object to hold information about a given online library system. Object holds the site URL, the login form’s name, and the two parameter names within form.
  • DueDatesGold – this is the main class that uses LibraryVault objects in conjunction with user defined id/passwords (or any type of login information) to gather information about borrowed books and their due dates.
This initial structure, however simple, would give great functionality into accessing UH Manoa’s library system, as well as allow for some future program expansion. The way we see it, since there is a LibraryVault object, many libraries can be set up initially from outside sources, like a file or even a database. Because of this, methods like the login method can then be used for multiple library systems, thus abstracting the code a little more.
However, because our first version of Due Dates only deals with the UH Manoa Library system, the overall code is not simplified that much.  In addition the program works through the use of command-line arguments (the UH student’s ID and last name). This means, it runs from a terminal with no interface capabilities. The output is just as informative though, and it can be run very simple through the use of a jar file. Anyone can download and use it (Prime Directive #2):
Sample Program Output
GROUP PROCESS
Sheller and I decided early on that we would communicate everyday about the project, whether it be in person or through the use of an instant messaging program. What ended up happening was that during the last week, we met up almost every other day in person for a couple hours, to talk about the program and work things out. This was definitely to our advantage and it worked well for both of us.
At our initial meetings we planned out the system while issuing specific tasks to each other on the project page. We even met once in Hamilton Library so we could borrow some books (for program testing!). In some of our later meetings we programmed together or edited existing files. What I found interesting was how much can get done while working together. We set up the project page instantly and put up issues just as fast. Its much easier to program as well because you can physically show the other person your code without having to send them the file. A big initial problem we had was getting Eclipse to recognize the HttpUnit classes. We worked together trying to fix it and finally found a temporary solution to the problem. This was later resolved in class.
Something that we did not do a lot at our meetings was commit files to the project repository. I don’t know if this was because we never got to a final stage with our code or because we just never thought about it, but it probably would have been more efficient to commit/update code right then and there.  Overall though, it was really nice working with Scheller on this project. We both did what we planned to do and everything ran smoothly. 
SETTING UP THE PROJECT
Hosting the Due Dates project on Google Code was really great. It allowed for really easy collaboration between Scheller and I. Creating a public project page for Due Dates was something I really enjoyed. It is sort of like marketing it as a product and making it accessible to everyone (Prime Directives #2,#3). I gained some experience making a wiki page for Developers to build and modify the project. Since the project does have external dependencies like HttpUnit, I had to create informative instructions for installing and using those tools. I used lots of screen captures and descriptions to explain it all.
The issues log was a great function of google projects that I did not previously know about. After adding issues to the list, Scheller and I were able to go through each of our specific tasks, noting when they were completed. It is like a complex to-do list that really makes it easier to reach project goals as a group.
TESTING THE SYSTEM
Testing for the Due Dates system was a little different than past tests I have done. I personally was responsible for testing the login method and the method that gathered data from the UH Manoa library. I tested for correct login information, as well as incorrect login information. For the due date information, I made test cases with users who had no books borrowed and with users who did have borrowed books. I made sure content was correct and exceptions were caught. 
It was interesting building a test suite from the ground up as I have never done that before. I’ve only ever added to other test classes. The things we were not able to test for were external dependencies like internet connection, internet errors, etc. This could be done in the future though.
FUTURE IMPLICATIONS
One of the coolest things about the Due Dates program is its extendable capabilities. Scheller and I talked about this a lot since there is so much that could be done to enhance the system. For one the system could employ a better command-line system as well as support multiple libraries. It would be really cool too if a user was able to add their own libraries without extra coding on the programmers side. In addition, some sort of graphical interface would be great. It would make the program look even better.
CONCLUSION
Overall, the building of this project as a group was a eye opening experience. I have never really done this sort of thing programming before and it really showed me the possibilities of open source software development. If many people were all working on this project at the same time, who knows how great the program could become. And it is all done so easily with Google Project Hosting and subversion technology. Hopefully in the future this project can really expand and develop.

Posted October 19, 2008 at 20:29 in Uncategorized, Web.

Leave a Reply


Some HTML is OK

xeex50909

sia press conference 2000

surround sound headphones dolby

andr

whimsical garden sculptures

wallin violinist

epa carpet

article of maya

current gastric virus

solaris 10 project save

radiologic technologist jobs in mn

cheif rc

lotus airbag steering wheels

programa uso agua jalisco

california raisins collectibles

killswitch engage holy diver mp3 torrent

sonic in freeport

victory poses mixed wrestling

arctica

serta concierge

1994

magical maestro mouse

edith m lepird

staples or cleats for hardwood floor

the prime ministers secret diplomacy

several things television teaches children

rgbhv to sdi

76

asain diy

custom airbrush motorcycle paint

blake

hank kurz jr adl

cloak of deception

compound

marked sinus bradycardia and causes

103

atomic absorption spectroscopy jobs

distributed concept secret

blue peels minneapolis

fishing on st john usvi

townhome

boardwalk village hot springs ar

earth intrigue shoes

veterans special adaptive housing

board n batten shutters

xenia oh florists

expiration date cigarettes

top rated push lawnmowers

woodard gymnastic camp

step dilator

nicki menaj photos

fantastically large yard sale montrose wv

pittsburgh penitentiary

velez

oven bakeware magic line

cardboard box templates

holder badge lanyard waterproof

garnet hill clothing

legend of king midas

aci 360

godsmack concert

berkely bionix

pics immagrants climbing fences

kelty bags

computer everywhere

brand noise blackboard networks academia

hubers guesthouse

casual rate for teachers

german shepherd rescue colorado

afi new top 100 films list

rayman rabidds 3

jka scotland honbu dojo

music of jeanette mcdonald

waldo berg gold hill or

chillicothe easy rider rodeo 2007

copeland air compressor parts

turtle losing shell pieces

paterno

mays equities inc

spasm

300m

apple picking medford new jersey

racal dana 9246

swell zipper

halston

enid ms

bras

splenda icing

enlargement

vba using access to populate excel

ebay bird books

handango promotional code blackberry

auto oil prelube system

university of maryland bean bag toss

herbal stores in pomona ca

german useful phrases

all inclusive cuba

bb

unique media

introduction to biometrics assignments

illusions mind eyes visual animations

patrick clooney

wedding vow renewal

cystic degeneration

cronkite

valeria oblivion mod elder scrolls iv

henry lever action 22 disassembly instructions

mainland united states time zones

herbal cialis alternative

mary valentine loring

soundtrack hope floats

divided 3 section dinner plate

tru hone

wire type for basements

flatts

manufacturing operations manager at aerojet

skin cell function

scottie chapmen

daily sitka sentinel

alicia allison

hilary duff picture

tuition uc davis

tips on growing huge tomatoes

marine bio coral calcium

nys income tax forms 2005

ata anthem arizona

krups coffee maker filters

gorham silver company

summit healthcare newnan georgia

bordello

jasmine harman

jetski rental eagle river

interventions woodridge

arlene schnitzer concert hall portland or

steve siegel cincinnati

hugo mn mailto

allow exe to install

pitzer morris chiropractic

4 wheel jamboree bloomsburg pa

milestone celebration gifts

excercise for foot drop

bowling allies

quad cities job serch

ankle holster tactical light

catholic societies

mandeville malvern

history of democratic donkey republican elephant

caribbean isles mhp

sildenafil citrate gel

metal work above window

salads chicken

mcnulty

learner centered education

boys white knit boxers

fleur de amore

tammy faye messener dies

abrams towing

are insurance industry too powerful

seller chainajoy nonfiction books

probate legal fees ca

discount modern outdoor

virginia lightening

yellow bourbon coffee

attended applegate elementary school in oregon

nitto 1320 legends gear ratios

how to remove hundreds of cysts

glenn harrington artist

web site analytics and marketing vancouver

intimate

shakira lo imprescindible

pepsi field frisco

alquiler particulares

deer bung extractor

gorillaz myspace layouts

skool

john prince tupelo computers

gpt collect referal points

audrey phelps

stl nursing jobs

kira wynocker

buccaneer computer systems

young and the restless crossovers

redness of the cheeks

tropical treehouse florist midlothian va

mazatlan shark sighting

pmc bronze .223 rem ammo

sound effect gathering

st johns bay rum cologne

bologna

lanex micro dvr

food stamps and adults with children

2500

flyfishing iowa

modern beheading

lucy pinder sunday times

lampoons

nov 28 performances

pebble rock rug

pissing

carmike theatre bismarck nd

tull balding

zag

iglesia ni cristo practices

fancy creek range kansas

phat fashions llc

train ord milwakee

tomato farming sheeting

failing eyesight

medford oregon street walkers

grim key sisters

all depo provera side effects

terrell crouch

downward merger 368

warren haynes belly up aspen tickets

piaget polo tourbillon

montenegro holidays

zucchini apple pie

deerskin moccasin

maryland ice rinks

tea shop mallorca

gynecology boulder community hospital foothills

clive natasha

hepatitis vaccine caused anemi

kihei maui condos

nexis resort kota kinabalu sabah

coolest year on record

dr guy dowling cosmetic

equine stable products

hampton inn herndon

realtors vail arizona

access as a standalone program

celeb

minitab prediction interval

acheson graham garden of prayer mortuary

cheap used bedroom sets chattanooga tennessee

newtown williamsburg virginia

celebrity

free activesync download

whores

barber clipper reviews

femdom

bittorrent lap dance free

jacob birthright blessing

lyric never gonna be alone nickelback

contemporary canvas wall art

burnaby mountain golf course

malibu

cowboy church t-shirts

light force fog lights

hairdresser supplies

chicka

rhonda watson

health dialog analytic solutions professionals

321

nhl stanley cup winners

billet cemetery

reccomended treatment of antibiotic resistive bacteria

jack the reaper

akon video zen

tipo de cambio euro sol

warheads destroyed in november 2008

find resteraunts in downtown denver colorado

annabells wish

chubby

schaffer trucking

mayan men clothing

peep

utility building indiana

terror alerts

catskill mountains climate

thurmond

spyro shadow legacy game guid

sept 9 pga results

flowers to the ukraine

erg universit tsservice gmbh jobs

A 107 810 1910

col charles rowley hay drummond india

inside the waist band holsters

electronic smithsonian

hemlock wooley adelgid

bobby higginson

hdtv reception in petersburg va

alberta blue cross plan

how to solve the rubixs revenge

gloucestershire

bright alps guest house

phillipine celebrities

scotty cramps in scottish terriers

ways around smartfilter bess

carrolin critters

los angeles dodger

mrsa wound

kern bail bond

inverse gold

party supplies chino hills ca

highland restaurant pittsfield ma

bavarian timber board

siamese

cars for sale ottumwa iowa usa

sauder tv stand wal mart

lyrics to no apologies by eminem

over the counter treatment for ibs

audiovox prestige car alarm manual

bandera home theater

boulevard motel fairfax

anthrax immunization

10732 26 ave sw

nclb and science

wierd scooter

br d kakao

roanoke city schools superintendent

leg pain with back pain

superdvd to avi converter

follow up emails to close sale

stormwater runoff calculations indiana dem

brad calhoun bel air presbyterian church

chocolate liquer

placerville accident dec 27 2007

thick barbeque sauce recipes

historical writings about immaculate conception

cordoba

putnam kazan

drucker harvard 1989

tudors

tv guide hbo encore starz

mitchell sabre

delonghi hhp1500 mica panel radiator

timmy turner wedgie

cicely mary barker fairy napkin

long-term ambien use

lyrics to but u a drank

film pooja hindi

letting agents staffordshire

late night at the office hints

p diddy ft mario winans

brandi belle mpeg

jennifer tambellini albert near truckee ca

vikingman arthur rogers hot women

enjoy the music

fuente

cayenne journals quizilla

portable radiation meters

gag prank shops in portland or

d620

chrylser cirrus hubcaps

kent crank auctioneer

cts surgury

hydro vs soil

2000 chevrolet blazer 4.3 stalls

taj banquet hall kent

review