Implement an application that allows user to:
- Register using name, email and password (only non authenticated)
- Inform the users about the rules for a password and check them
- send and activation email
- Actvation page (only non authenticated)
- the user should be activated only after email confirmation
- redirect to Profile after the activation
- Login with valid credentials (email and password) (only non authenticated)
- If user is not active ask them to activate their email
- Redirect to profile after login
- Logout (only authenticated)
- Redirect to login after logging out
- Password reset (only non authenticated)
- Ask for an email
- Show email sent page
- add Reset Password confirmation page (with
password
andconfirmation
fields that must be equal) - Show Success page with a link to login
- Profile page (only authenticated)
- You can change a name
- It allows to change a password (require an old one,
new password
andconfirmation
) - To change an email you should type the password, confirm the new email and notify the old email about the change
- 404 for all the other pages
- Implement Sign-up with Google, Facebook, Github (use Passport.js lib)
- Profile page should allow to add/remove any social account
- Add authentication to your Accounting App