Customer DB
Plans for, and known bugs in, the Customer Database module.
Module Purpose
The Customer Database module keeps track of a cybercafe's customers: who they are, contact information (for mailing lists, for example), ages (for optional ERSB rating enforcement), how much time or money is in their account, and even their favorite games and times and frequency of their visits (for marketing statistics).
The Customer Database is used by, and interacts with, several other Fun-o-Matic modules; FomShell, for example, can be used to log a customer in via the Database, and use information from it to tell the customer how much time or money is left in their account.
Module Status
Detailed requirements have been written, but no coding has started yet.
Known Bugs
N/A
Plans for Version 1
- All customer data stored in MySQL database on a central server; this database serves should be able to serve as the cybercafe website user database, as well as containing all customer records.
- Webpage to display customer account status; display balance remaining. Idea is that this is a PHP-based interface provided by a central server, but can displayed in a frame in case the cybercafe's main website is on a different server; this allows all the data and authentication to be kept on a central server. Problem: How do you securely pass authenticated customer account name from Hugehost to the frame coming from Louie, so the customer doesn’t have to be authenticated again?
- Web-based user interface features
- Quick sign-in/sign-out
- Customer photos
- Web access to account info
- Journaling: all changes are tracked, complete history is viewable
- Linkage to ShowGames log—be able to track who is playing what game at what time
- Needs to be able to flexibly accommodate lots of different styles of charging, discounts, promotions, memberships, etc.
- Must be (a) usable by multiple centers (hence networked), and (b) those centers must be able to continue functioning in the event of a network failure (so it needs to run on a local server in each center, said server maintaining a local copy of the database and keeping it in sync with a master copy)