We are working on a large project and we need candidates on long term basis. This project is one of the subset of the module in the whole project. If you do a great job, you may get opportunity to work on our additional project. So, please quote your best offer.
"PLEASE REFER ATTACHED PDF FILE SCREENSHOTS AND COMPLETE DESCRIPTION"
The scope of this project is to implement the Authorization functionality based on Subscription Level and Role based based access. You need to install CanCan or similar plugin and develop an user interface to Configure the Subscription and Role based authorizations.
Please note this does not include the implementation of Subscription System itself. Simply you will create a table that holds the subscription information and manually populate the data.
The system will provide two levels of Authorization.
1). Subscription based authorization
2). Declarative/Roles Based Authorization.
Subscription based Authorization:
Initially, there will be three subscription levels - Basic, Professional, Enterprise. But should be able to add any number of subscription levels.
All the features will be visible in all versions. If a feature is not available in the current subscribed version, a star next to link/tab will be added which indicates this will be only available on the higher level of subscription.
When the user clicks on the link, it will be redirected to the the subscription upgrade page.
To implement the declarative authorization use the gem like [url removed, login to view]
Access will be provided at the Controller action level.
Tab Visible (If this unchecked, the access to the entire functionality will be removed)
Users should be able to create Access Profiles which they can assign to the individual users. No direct assignment of profiles are allowed.
By default, there will be two system profiles “Administrators” and “Users”. The user cannot modify these two profiles but they can clone them and save it with different name.
The check boxes in the profile configuration page(shown in the screenshot above) should work as below
If the Tab Visible check box is checked, automatically check all other checkboxes (View, Create, Edit, Delete)
If View or Tab check box is unchecked all other checkboxes will be unchecked.
User can have only Tab & View checked
User can have Create, Edit, Delete checked in any combination while Tab & View is checked.
User cannot check Create, Edit, Delete while View or Tab is unchecked.
If a user don’t have access to a particular operation, the button/link will be invisible to the user. For example, if a user don’t have access to Create, then any link/button related to creation of the document will not be visible.
The operations also should be enforced at the model level so that the user should not be able to perform the operation through different module that they have access.
General Project description:
This project is hosted in Bitbucket Git repository and you will be working on a BitBucket branch along with our developers.
The website is based on Rails 3.0 and MySQL for Development and Postgresql for production.
All the required plugins are configured through Gem file. No Exceptions.
Any plugin that you intend to use should be approved by us before you can use it in the project.
Code should follow the Rails Guide Lines.
All the developed code should have the unit test implemented and working.
We follow agile development model and the Selected Candidates should be able to attend Daily scrum meeting and weekly sprint review meeting over the Skype/Google Talk whichever works for you.
Code should be checked-in on weekly basis before the sprint review