We have a free email system with API support. We want outside users to come to this system and register. When registering, we actually open an e-mail account for users. Afterwards, users will be able to log in to this e-mail address with webmail and mobile applications.
However, the only thing required from you is the coding of the area where the account is registered and the API is managed.
[login to view URL]
[login to view URL]
[login to view URL]
The scenario is as follows:
The user fills the following form on the website:
Name and Surname (Separate boxes)
There will be a box with @[login to view URL] written at the end of the box.
Username is entered in this box and if the user leaves the box, the availability of the username is checked with the API.
Password and password confirmation boxes: This field must contain at least 8 characters, and the password must contain a capital letter, a lowercase letter, a number and a symbol.
Also recovery option #1: Phone No (In this step an SMS verification is performed on the same page - we are working with NETGSM API in Turkey)
Also recovery option #2: Backup e-mail address (This field is optional, but if an e-mail is written, a verification code will be sent to the corresponding e-mail address - We have a dedicated SMTP server)
Recovery option #3: Ready-made secret questions and answers (This field is optional)
In this area, SPAM control is provided with reCaptcha.
When the user membership is created, an informative SMS is sent to the user.
Every time the user logs into the system for individual account management, an SMS is sent to his phone. So two-step verification is actually always active.
If the user changes the backup e-mail address, a notification should be sent via SMS.
When changing the user password, a verification SMS should be sent and a notification SMS should be sent after changing it.
Likewise, a verification SMS should be sent when changing the user password, and a notification SMS should be sent after changing it.
For individual account management, if the user has logged into the system with a different IP address than the last login IP address, an SMS and e-mail notification should be sent that he has logged in from a different device and IP address.
The user should be able to freeze his account with the freeze my account button. The API system allows it.
If the user freezes his account, his account is deactivated by the API on the mail server. To activate it again, he must log in to the system and press the activate my account button.
The user should be able to delete his account with the delete my account button. The API system allows it. If the user chooses to delete his account, his account will be deactivated on the mail server with the API for 30 days. After 30 days, it should automatically be permanently deleted with the API. If he wants to prevent his account from being deleted again in the 30-day period, he must log in to the system again and press the cancel scheduled account deletion button.
The user should never be able to change the username. Because the username is actually used as an e-mail address.
User quotas should be unlocked with 3 GB. The API system allows it.
Authy etc. from user individual account management. It should be able to add a 2FA mechanism.
Occupation, birthday and gender must be entered in the profile settings.
In the individual account management, the user should be able to see when he last changed his password and with which IP he made the last login.
The user should also be able to create an application password with API from this panel. The backend system allows this.
PHP (priority), Python (Django..), React ([login to view URL], Redux or Gatsby..),
MySQL (priority) or PostgreSQL can be selected.
When bidding on this project, remember that you are also supporting a free project that is helpful to people.
34 фрилансеров(-а) готовы выполнить эту работу в среднем за $247
I am Full stack Django / React js Developer and i can build Email Management system and I am pretty sure that I can complete every bit of your requirements. Further details and cost can be discussed in chat