We have an existing web site, but need a user administration interface. This should be a separate service, but will be installed on the same web server. Our existing site is c# .NET 2.0, so the new application should also be, for simplicity.
The user database is an MS SQL database consisting of about 15 tables, and we need an interface to read and update user information, eg:
1. Query user info (user search)
2. Get user statistics (number of users, users of different types, etc)
3. Reset user password
4. See a user's purchase
5. See all purchases in a time range
6. View and edit other database information
The database definition will be supplied.
Administrators must log in to gain access - please create the necessary table(s) to contain credentials and other necessary information for the admin functionality.
* search users (select to search all, only sellers, only regular)
* show user (display all user information -> address, email, other details, ftp-credentials, number of completed purchases and total price paid, number of favorites, seller earnings, sum of payments made to seller, etc)
* statistics (number of users total, number of users at each user level, number of purchases the last 28 days, list of all purchases the last 7 days)
* reset password (change the user's password, sending an email to the user with the new password)
* disable account (change the user's password, but do not send an email to the user)
* edit seller info (seller account details, seller percentage)
* view or edit user information (address, username, email, password, etc)
* view, add, edit clip formats to clip_format table
* view, add, edit countries from the country table
* view, add, edit country_tax information
* view, add, edit currency information
* view information in the happenings table. It is long, so it must be possible to search over time ranges. should show the last 15 minutes by default.
* view and report on seller_payment table. Search time range, and show list in time range and sum for time range. Search for a user, and show list for that user and sum for that user.
* view, add or edit information from subscription_type table
* view, add, edit or delete information in user_favorite
* view, add or edit information in the user_status table
Description of tables:
* account_type: different types of accounts a submitter can have to receive payments
* clip_format: all types of clip formats a clip can be purchased as
* country: all countries, and possibly a currency type (EUR or VOID)
* country_tax: the tax levels for different countries.
* currency: different currencies we support.
* happenings: a log of various happenings
* payment: purchase status info
* payment_account: account information for the various users (can be paypal, norwegian account or EUR account)
* payment_item: information about video clip purchases, connected to payment(id)
* payment_subscription_item: information about account subscription payments (to become seller/submitter), connected to payment(id)
* seller_payment: information on payments made to sellers
* subscription_type: different types of subscriptions
* user_favorite: information on which users have added which clips as their favorites
* user_status: the different types of users
* users: user information with details, eg email, password, public_name, address, submitter/regular user, etc