A authenticator app feature account activation and password reset using email link verification. Certain part of the site only visible to registered users
- input check for each field and display error
- check if email already register and display error
- send a verification email
- user will be recognize as active after email verification
- input and authentication check
- option for customer to reset password
- send an email with reset link
- input check if user give the old password
- Can only be access if logged in
- Show user infos and all registered user info
Require docker to host the site locally: Installation
docker-compose build
docker-compose up
docker run --rm --interactive --tty \
--volume $PWD:/app \
composer require phpmailer/phpmailer
Login to DB with PHPMyAdmin using username: root and password: nimda Create the users table:
CREATE TABLE `users` (
`id` int NOT NULL,
`firstname` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL,
`lastname` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL,
`email` varchar(150) COLLATE utf8mb4_unicode_ci NOT NULL,
`phone` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL,
`password` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
`token` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
`status` tinyint NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
- Docker: to create a local development environment with the mamp stack (macOS, Apache, mySQL, phpmyadmin, php 8.3)
- PDO: handle access and manage database
- Composer: to install some libraries (install via docker image's dockerfile COPY command)
- PHPmailer: library to handle email sending. Installation:
docker run --rm --interactive --tty \
--volume $PWD:/app \
composer require phpmailer/phpmailer
- Mailtrap (https://mailtrap.io/home): email sending platform