FGdb

From FreekiWiki
Revision as of 23:01, 26 June 2006 by IainDavidson (talk | contribs)
Jump to navigation Jump to search


Description

FGdb is where lots of data about Free Geek is kept, including such things as volunteer names and hours, gizmo IDs and types, dollar amounts of donations we've received, and much more. It's a complex system, comprised of a PostgreSQL database and a PHP front end.

You can access it through a web browser, provided you're inside the Free Geek building (not including the wireless network.) Just type the word data in the address bar (you know, where you'd usually type a big long URL like http://www.example.com.)

If you want to find information that isn't available through the web page, and are familiar with (or willing to learn) SQL, check out FGdb SQL queries for some suggestions.

Project Status

This code is in a constant state of change. There's always work needed. The Coders group, which meets Tuesday evenings, is where to get started if you're interested in helping out. They also have an email list.

There is a proposal on FGdb goals for year end 2005.

Queue

There is an RT queue for this project, which is where individual projects and upgrades are kept track of. It is called FGdb.

Installation

To install a copy of FGdb on your own computer, see Installing FGdb. You'll probably need the help of somebody from the coders group. (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.

Sub-projects

  • 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.
  • About Free Geek -- Gathering information that describes Free Geek, generating statistics for news stories and the like. Pete is working on this, and taking notes on the process at FGdb SQL queries. For now, this is just a matter of figuring out the SQL end of it; it may or may not ever get into the front end.

Unstarted sub-projects

  • 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

Development Stuff