This is one of MANY projects we have using ExtJs. This requirement is for a small (phase 1) membership management web app. For international / universal understanding, the term CRUD stands for Create - Read - Update – Delete. All AJAX must be passed in plain JSON format. This outline does not include business rules in it intentionally for confidentiality. Business rules will be supplied after awarding the bid and having an NDA signed.
Server-side: ColdFusion / OpenBD or PHP.
Roles: SuperAdmins (manages admins, access to all functionality), Admins (Manages editors, access to all functionality), Editor (cannot send bulk messages)
DB Logging: Track who sends and creates what.
Navigation (Left Column)
• Send Email
• Send SMS
• Send Fax
Links above will open a tab in the center column next to the dashboard
Dashboard Tab (Center Column):
• ExtJs Portal with graphs and charts of sent faxes, emails and sms.
• Charts will show current usage statistics within current month, overages, total overage cost, etc.
• Recent activity, notes, etc.
Links Tab (Center Column):
• Contacts (grid / CRUD) - Toolbar menu: Search with auto-completion, Settings (Modal Window) > Window Tabs: Manage Membership Types (grid / CRUD) Warning when deleting, Manage Contact Groups (grid / CRUD) Warning when deleting. Upon selecting a contact (from grid or auto-completion), open in another tab with just that contact's page showing all info, notes, etc.
• Organizations – same as above.
• Send Email – To Group (text field): [dropdown with auto-completion for selecting groups], Next row - To Contact: (text field): [dropdown with auto-completion for selecting contacts]. Both should display the selected recipient in the text field with the ability to X out (remove) the recipient from the list. Message body should have rich text field with ability to add pictures. In the rich text menu bar, have a dropdown field for dynamic contact fields like (First Name, Last Name, etc.). Send to me (button) for testing before bulk sending.
• Send SMS – Same as Send Email
• Send Fax - Same as Send Email
• Notes – General notes (grid / CRUD) that are time stamped sorted by the last note first.
All send functionality will be through 3rd party hosted APIs.
Contact Form Fields:
• Name, address
• phones (dynamically add multiple, allow extensions). Next to each number should be a phone type (dropdown: Home, Mobile, Work, Fax, Other: allow the user to specify). Each phone number should have Make Default link next to it or display Default next to it if it is the default.
• emails (dynamically add)
• notes (grid that is sorted by date (most recent first). auto-date defaults to current date_time)
• Member since, Membership type (dropdown), Membership Expires
• In Group (s):
• Related to (popup window with contacts / checkboxes + search). Upon clicking the [Relate] button in the window, it closes and adds rows with the contact name. Next to each name, it should have a Relationship Type (dropdown: spouse, cousin, father, mother, sibling, etc. allows new types)
• Works for (popup window with organizations / checkboxes + search)
Organization Form Fields:
• Name, address, phone, email
• notes (same as notes above)
All fields should be validated. Window popups from forms should be modal. A master dashboard with global Admin privileges and charts/reports will be needed to have a global view of all activity and global business management. A signup page will be needed for our clients. Unlimited membership types / pricing (standard, silver package, etc.) for our clients. There should be an easy admin interface for creating packages by selecting for example, what service, how many sends are included in each package, etc. We will integrate your app and signup page into our own website.