Lead database developer for a six month project to rebuild the core
production web environment (consisting of SQL DB, C#, and ASP.Net).
Designed, developed, and implemented the following modules for this
system: Data Dictionary, Clients, Users, Groups, Promotions,
Activities, Actions, Transactions, Shopping, Email, Lottery, and
Reporting. These modules encapsulated the following attributes:
-
Hierarchical recursive tables (automatically tracking the
hierarchy and level of parent/child relationships).
-
Vertically partitioned tables (divided by date ranges for large
volume tables).
-
A central ID generator for all primary keys to allow for the easy
migration of data from development, to QA, to staging, and to
production environments.
-
Unlimited custom properties for all major objects (allowing
internal and external clients to easily add new indexed properties
of most any data type to the system via an administrator interface).
-
Double entry transaction system (to maintain the integrity when
moving funds).
-
Replication of commonly requested meta data to MSDB servers
running on the web servers to alleviate the load on the production
server.
-
The ability to replicate all data to read-only servers for load
sharing if needed (including a system that tells the web pages to
pull from PROD if their data is out of date for a given user).
-
A read-only mode that can be turned on for a user, client, stored
procedure, or everything, that will prevent any data writes from
occurring while allowing all reads (which is very useful when
doing maintenance or when migrating clients/users from one system
to another).
-
A verbose logging mode that can be turned on for a user, client,
stored procedure, or everything, that will cause all database
writes to be logged at the stored procedure level. A verbose
level can be chosen to limit the logging based on the severity
level (ERROR/WARNING/INFO/DEBUG).
-
An XML template based email system for sending custom emails.
-
Flexible shopping system with multiple catalog/item sources (both
internal and external) which are combined into custom virtual
catalogs for clients. This enables a user to shop with multiple
fulfillment centers at the same time using one cohesive interface.
Full Text Indexing was used for searching item descriptions. Most
of our fulfillment is handled by Amazon via this automated system.