This project involves the creation of a MODULE under the the Zend Framework 2.x. Ideally the project will be built-in and exported from Zend Studio 10.x.
This project will be:
- delivered by an individual with Zend Framework 2.x experience.
- a stand alone module that can be plugged into other Zend Framework 2.x projects simply using framework standards.
- based on Zend Framework 2.x authentication and authorization standards.
- in-code or externally documented so that developers can see quickly how the module was built and where modifications may take place.
- easily expandable so as a second project you will be able to add on Twitter and Facebook login capabilities.
- must be entirely royalty-free. This code may be posted publicly to GitHub as an OpenSource project therefore should not use any copy-written or otherwise protected code.
Database:
- Based on a simple MySQL database (username, password (encrypted), email address, etc.)
Design:
- Visually will be based on the default template delivered with the Zend Framework 2.x application.
Specifications:
- And end user will reach the a demo application (separate from the login module) and be prompted for their username or email address and password to access the page(s) of that module.
- The user will be authenticated against a MySQL database using encryption (MD5 or other) for password storage.
- If the user is not already registered, they may register with a username, email, full name, and password.
- The system will send an automated confirmation email to the user.
- The user must receive and select a URL to confirm their name and address.
- The user cannot login to the system until the confirmation takes place.
- If the user attempts to login before verification has taken place, they are told that they cannot login until verification has taken place.
- Users may request that the system re-send the verification email.
- If users have forgotten their password, they may initiate a password reset.
- Users are emailed a password reset URL allowing them to follow the URL and reset their password.
- When the user clicks this URL they are provided with a password reset screen.
- An email is sent out to the user notifying them that their account password has been changed.
- Once users are authenticated, they are brought to the page they initially requested.
Timeframe:
- the timeframe you commit to must be respected.
Payments (milestones negotiable):
- 25% upon acceptance of project
- 25% upon delivery of first demonstrated code
- 25% upon delivery of first code draft and documentation
- 25% upon local installation and use of code based on delivered code and documentation
Longer-term
- Following delivery of this project the second phase will include addition of social networks to the login methods supported.
- Add a sample WSDL service that may be accessed only when credentials are passed.