RBAC User Management System in PHP/MySQL/AJAX

RBAC User Management System in PHP/MySQL/AJAX


Job Description

We require you to build a user management system that allows the creation of user accounts, process payments via PayPal subscriptions and for users to create staff roles that can be assigned to sub-users of each user account (explained in detail in the special notes).

A site administration panel is also required so users, subscriptions & user roles can be managed. All labels should be held in a language file in English.

This application is going to be used in a larger project and must have well defined functions to check on user status & role access level.

There are two parts to this system that are required:

User Facing:
This is where users can register, manage their account, create staff members, create user profiles picking from one or more roles that have been created by the site administrator, see their current subscription level and allow account upgrades to subscriptions.

- Users can register an account, verify their account, login, forgot password & access user account administration pages after signing in
- Process payments using PayPal subscriptions (sample code will be provided to expedite this)
- Allows a user to create one or more staff accounts with defined roles & user profiles.
- Allows easy extending, to add other options, such as departments, profiles and other settings to be added.

Site Administration:
This allows the site administrator to manage users, staff accounts, subscriptions and roles for users to select from. Also to be able to create default’s that are then applied to new & existing accounts, such as defined staff roles that are then loaded when a new user registers.

- User administration panel for editing, adding users, staff accounts and keeping track of subscriptions
- Create different subscription levels with roles or other limits applied (such as the number of staff accounts)
- Can create “roles” for users to assign to staff accounts
- Has functions to check current user access levels & subscription statuses when logged in
- When a new user account is created, allow staff profiles & other defaults to be assigned automatically to each account.

Special Notes:
Staff users, roles and profiles are the only complex part of this project. This format has been created previously in Magento with its implementation of user administration & permissions. This can be copied and expanded to incorporate pre-created role profiles and allow for future roles to be added by the site administrator.

Staff users can be created by the original user that registered and then either assign predefined profiles and/or be able to create and manage their own role profiles for their staff users.

The user roles are a category tree of options created in the site administration panel that user can select using checkboxes and then name & save the profile which can then be assigned to one or more staff accounts.

The main user is to be automatically assigned all current and future roles that are added in the site administration panel.

Other Notes:
- A full specification will be provided on successful application and support via phone, email & Skype between 09:00 – 22:00 GMT to expedite development & any questions your team may have.
- A signed NDA will be required
- All intellectual property rights will be owned by us

Technical Requirements:
- PHP +5.3
- MySQL 5.1 (knowledge of Amazon’s EC2 & RDS is preferred)
- Zend Framework or Laravel framework, MVC styled with all labels held in a language file(s)
- Templating engine/.tpl files to be used for both administration & user pages
- Where sensible, AJAX should be used for saving & user messaging.

To Apply:
- Provide examples of previous work that uses the Zend or Laravel framework and ideally using Amazon EC2 & RDS, but not absolutely required.

- Provide an estimated delivery time for completion (we are expecting one week or less)

- If you have any questions, please ask

Please include "Howdy" in your application so that I know you've read the specification, applications without this will be rejected (sorry but spam is annoying and I'm sure you understand we need you to have read the actual overview specifications)

Skills: management, paypal, administration, mvc, amazon

Other open jobs by this client