OVERVIEW
SUMMARY
The Key Tracker allows the Facilities Keys Office to manage their key inventory. The existing key tracking application, which was developed 15 years ago, currently resides on an old VAX and Ingres database. We have been asked to migrate it to a web-based application with an Oracle database.
GOALS
- Migrate the application while the existing environment is still stable
- Create a user-friendly interface that makes it easy for the Keys Office to get their job done
TEAM
Programmer: Joshua Dale
DBA: Peter Maloof
CUSTOMERS
The Keys Office.
TECHNICAL
SVN LOCATION
svn+ssh://svn.mit.edu/pmdashboard
DEVELOPMENT ENVIRONMENT
PHP 5.2
Cake 1.1.15.x (the latest stable, non 1.2 version)
Oracle - whatever version Ops currently recommends
Apache - whatever version Ops currently recommends
FUNCTIONALITY
The functionality will match the current system. Functionality is fully described in the Key System User Guide printout. Most user actions are CRUD - create, read, update, or delete records. Functionality includes:
- CRUD a key
- CRUD room information
- CRUD key holder information
- CRUD department information
- assign keys
- transfer keys from one holder to another
- keyoholder returns key
- keyholder loses key
- show key inventory
- show rooms and keys brief list
- show key inventory
- show key holders and their keys
- show keys assigned to key holders
- show reports
We need more information about reports. The user guide names nine reports, but doesn't give a detailed description of what they show. We may be able to copy the SQL from the existing system.
PROJECT PLAN
Iterations
1. Hello, World!
GOAL: set up environment, make sure all the pieces are in place ( dev environment, server, databases, apache configured correctly, svn)
DELIVERABLES: Deploy a simple Cake-generated page to server. Page should do something to confirm it can connect to database.
... in progress ...
2. Models and simple controllers: the CRUDS
3. Assign, transfer
4. UI work
5. Reports
?? Visit user for a test drive, get some feedback on the UI
6. Wrap-up - final bugfixes, final updates to project notebook, required intern summary