This application has the same functionality of reset-password-flow, but this one in build on react hooks and typescript. This is a Single Page Application that lets users to vote through the Polls API. This project was bootstrapped with Create React App. Documentation for the Polls API is available here. The application is tested End-2-End using Cypress Framework
- Frontend: react, bootstrap, noty, i18next, universal-cookies, react-icons.
- Backend: node, express, mongodb, nodemailer.
- E2e: Cypress
- One the project is running you will see http://localhost:8000/en for english version and you can switch to http://localhost:8000/de for german translation.
- Email for testing is arbnorhajdini1@gmail.com with an existing password of 1234
- On the landing page please provide the given email address arbnorhajdini1@gmail.com, otherwise the BE will not find it on the list and reject the request.
- The email template sent is mocked with Ethereal, so a new window will popup to show the email ( if it dose not display, please disable the popup blocker).
- After you click on the button it will direct the user to the change password page and there you need to enter a new password.
- The password musst be at least 4 characters long.
- Provides to reset forgotten password
- Send a mocked email with the reset password
- Stores new password
The Online Demo for the App with complete functionality can be accessed at https://github.com/arbnorhajdini/keleya-reset-password-flow
In order to setup the project locally please follow the instructions below. In the root directory, you can run the following commands using a terminal:
Installs the required dependencies in the local node_modules folder that are defined in package.json.
Runs the app in the development mode.
Open http://localhost:8000/en or http://localhost:8000/de to view it in the browser.
The page will reload automatically if you make edits.
You may also see any linting errors in the console.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.
In the './cypress' directory, you can run the following commands using a terminal: Runs all the integration tests in the terminal.
You can learn more in the Create React App documentation.