This is PHP code ( http://www.php.net/ ) that talks to a PostgreSQL database ( http://www.postgresql.org/ ). It is responsible for tracking all our gizmos and their statuses, all our volunteers and the hours they've worked, all our receipts for donations and sales, and more. Everything runs in a web browser.
This code is in a constant state of change. There's always work needed.
The RT queue for this project is called FGdb.
To install a copy of FGdb on your own computer, see Installing FGdb. (These instructions assume a FreekBox or other debian based system.)
If you want to code on Free Geek's infrastructure, rather than set up your own environment, take a look at llama setup for FGdb.
- Contacts -- Anything relating to tracking volunteers, donors, customers, or other contact information for people or organizations in the database. -- Martin Chase is working on these related projects.
- Volunteer tracking and volunteer hours maintenance
- Membership program tracking (people making regular cash contributions to Free Geek)
- Sales receipts (we sell stuff to customers)
- Donation receipts (donors give us stuff)
- Gizmos -- Anything relating to tracking gizmos in the database.
- new gizmo entry (at receiving)
- editing existing gizmos
- cloning of several similar gizmos at the same time
- System checkout -- The process of tying a system's component gizmos to it, assigning an adopter to it, assigning an appropriate value and status to each gizmo, and attributing (in hours) the "value" of the system. This happens when a system is sent to the store, adopted, or granted out.
- Reports -- Anything that only requires read access to the database.
- volunteer reports -- who's in what program, who's waiting to get in, where are they in the process, etc. -- Douglas Howard is working on this.
- gizmo reports -- how many gizmos of which types were received, recycled, etc.
- Data Integrity and Cleaning -- Finding old problem in the data itself, removing them, and preventing their reoccurance. This is SQL intensive and less about PHP. -- David Jencks and Richard Seymour are working on this.
- Billing module (for organizations who want to drop off donation but need an invoice to pay instead of payment at time of drop off)
- Recycling Pickup module (to track quantity and type of materials picked up, and rates we paid or received for that material)
- Module for tracking borrowed equipment
- Module for tracking issues with volunteers
- Gizmo notes -- for tracking history of what happened to a gizmo with text notes, rather than just statuses. This would allow people working on specific types of gizmos to look back and see what happened to a specific motherboard or UPS (for example) and determine what works and/or what to do next.
- Events Database