Skip to content

kirollos-Magdy1/Creating-User-Accounts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

Project Overview

A robot built with UI Path that listens to a specific email and reads the nationalities and genders data table from the received email, then generates additional information from the “Fake Name Generator” website, uses it to create a profile on the “Automation Exercise” website,

The user data table is treated as transaction items, which are processed by assigning an ID for each transaction generated from the “https://reqres.in” API using the user information, then processing the item and closing the transaction with a status either completed or failed with a message error and a screenshot.

Also, the process involves enabling the desktop VPN application to create an account on the “Hide Me” VPN website before starting work on the data table records.

Finally, gather all transactions within an excel file along with the user's information and send them back to the recipient email, and prepare to wait for another incoming email to begin processing its items.

Automation Workflow Details

⚙️ Configurigation Initialization: The automation process begins by reading the configuration file to set up the required automation settings.

📧 Email Reception and Validation: The system waits until an email with a specified subject is received. Upon reception, it downloads the attached Excel file and validates its format to ensure correct attachment data.

🔒 VPN Activation and Account Creation:

  • The "Hide Me" Desktop VPN Application is activated to access the Hide Me website.
  • Depending on the provided email:
    • If the email is not associated with a "Hide Me" account, an activation email is received to create a new account by inserting a username and password.
    • If the email is already linked to a "Hide Me" account, an email is received requesting a password change.
    • Upon successful account activation or password reset within 30 seconds, the robot logs out. Otherwise proceed with the next step

🔑 Login and Captcha Handling: The robot logs into the "Hide Me" account and attempts to solve the captcha three times.

📊 Excel Data Extraction: Extracting User records to a user info Data table from the downloaded Excel file.

👤 User Profile Generation:

  • For each record in the data table:
    • Information such as name, password, birthday, address, phone, country code, company, and occupation is generated using the Fake Name Generator.
    • Extracted data is saved in the "result.xlsx" file.
    • Valid given user data trigger account creation on the Automation Exercise website.
    • The API endpoint "https://reqres.in/api/users" is called to add user information, to get the ID retrieved from the response. To be the transition item ID

💾 Data Storage and Reporting:

  • Extracted data is stored in "result.xlsx", while transaction results are logged in "summary.csv", including start and end dates, user ID, username, status, error message (if any), and screenshot path.

📧 Email Notification: The generated "result.xlsx" and "summary.csv" files are sent via email to the recipients.

Email Monitoring: The system waits for new emails. If no emails are received within 5 minutes, the process stops.

Core Components

Main State Machine

Main State Machine

  • Start by "Initialize Settings" state to load the config file
  • If it is loaded successfully with no system exception, transition to the "Waiting For Email" State to receive the first email
  • While a new valid email is being received, transition to the "process transaction" state
  • While no system exceptions occur during the Process Transaction State, transition back to the Waiting For Email State to receive and handle subsequent emails.

Receive Email

Receive Email A Workflow that is responsible for receiving the client/stackholder email to process its items or receiving emails containing action links from Hide Me website

Initialize All Applications

Initialize All Applications

💡 exceptions are handled, not letting them rethrow, so that the transaction process not interrupted

Process Overview

Process Overview

Preparing Process Transactions

Preparing Process Transactions

Process Invocation

Process Invocation

Proces Transaction Item

Process Each Transaction Item

Process Transaction Item Exception Handling

Process Transaction Item Exception Handling