Follow-up project for:
[url removed, login to view]
1. Implementation of multi-tenant features to the sql datasbase (as defined in [url removed, login to view]) based on the existing ms access db schema. Adding migrations for db schema and initial data.
2. Implementing common membership mechanism to manage users and roles:
2.1. Custom membership provider.
2.2. Identity service that will be responsible for:
- Creates password hash/salt and saves user.
- Validates user password.
- Changes the user password.
- Validates token(to check credentials from cookie and from db).
- Gets user by provided id.
- Gets all users in the system by tenant id.
- Gets all roles in the system.
- Gets role by provided id.
2.3. Identity storage that will responsible for:
- Saving FormsAuthenticationTicket to the Cookies.
- Clearing identity on logout.
- Getting current logged principal from cookie
2.4. custom Principle with aditional tenant specific properties.
3. Design and implementation of a login page that re-directs the user to the intro page of the web. Validation of the provided credentials(login/password) using membership. Creating a session for the logged in user.
4. Implementing PermissionAttribute. Adding permissions to the roles and applying it throughout the system according to the requirements provided in the Involed_Groups.xls.
5. It's also needed to scaffold entities from provided db schema, create mappings, write integration tests to verify mappings and check that InsertOrUpdate, GetById and Delete working properly.
56h will be enough to finish it.
2) coded UI tests
3) responsive design as much as possible
4) full functional and compatible with IE, Chrome, Firefox, Opera and Safari.
5) code will be checked in by the worker to a TFS account of the employer
6) the solution will be installed by the worker to the employer's website in order to be checked by the employer
Project progress and communication:
Communication between the worker and the employer will be kept via skype during the entire project time (at least once a week). The worker reports completion of parts (1 to 5), or if necessary in between, to the employer who checks completeness and proper functionality before next parts will be worked on.
The worker keeps book of worked hours for each completed part and reports these to the employer at completion of each part. Estimations of hours (as given in part 1 - 5) are considered as maximum; when the maximum is threatened to be exceeded the worker has to report this in advance and request approval by the employer to exceed the limit.
1) I require complete and fully-functional working program(s) in executable form as well as complete source code of all work done (so that I may modify it in the future).
2) Deliverables must be in ready-to-run condition as follows (depending on the nature of the deliverables):
2b) Any website server-side deliverables must be installed in ready-to-run condition in the employer's environment (unless overridden otherwise by the employer elsewhere in this contract.
2c) If there are any server-side deliverables (intended to only exist in one place in the employer's environment) then they must be installed by the winning worker in ready-to-run condition (unless specified elsewhere by the employer).
3) The Employer will receive exclusive and complete copyrights to all work paid for. All paid for deliverables will be considered 'work made for hire' under U.S. Copyright law.
3b) No part of the deliverable may contain any copyright restricted 3rd party components (including GPL, GNU, Copyleft, etc.) unless all copyright ramifications are explained AND AGREED TO by the employer on the site per the worker's 'Worker Legal Agreement'.