Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
10 views8 pages

Documentation 2

Download as docx, pdf, or txt
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 8

Forge Master

Documentation
Team Members:
 Muhammad Anas Afzal
 Fasih Ur Rahman
 Sohaib Ahmad

Parts of our Program:


1. Interface:
We have divided our program into following panels for better interface with user.
 User Panel. (Color 0F)
 Logged User Panel. (Color F0)
 Admin Panel. (Color 8F)
2. Libraries and Arrays:
Libraries:
 #include <iostream>: for Input and Output.
 #include <string>: for working with Strings
 #include <conio.h>: to use getch () function to pause screen.

Arrays:

 Total Arrays: 13
 1D arrays: 10
 2D arrays: 3
3. Functions:
Total User Defined Functions: 33

4. Input Type:
 We have taken all inputs from user in string data type and then converted them into there
desired data type.
5. Error Handling:
 Invalid Input Handling: Functions like containsDigit, containsLetter, and isNumeric
are used to validate user input. These functions ensure that the input provided by the user
meets specific criteria, such as containing digits, letters, or being numeric.
USER PANEL:
1. Main Menu
The main menu serves as the entry point for users to interact with Forge Master. It provides
various options for users to manage their accounts and access features of the social network
platform.
Function: mainMenu ()
This function displays the main menu options and allows users to select their desired actions.
Flow of Control:
1. Display the Forge Master title and welcome message.
2. Display the main menu options.
3. Prompt the user to enter their choice.
4. Based on the user's choice, execute the corresponding action.
5. Repeat the process until the user chooses to exit.
Main Menu Options:
1. Login
 Allows existing users to log into their accounts.
 Users need to provide their email and password for authentication.
 Upon successful login, users are directed to their logged-in menu.
 If the login attempt fails, users receive an error message.
 Blocked users are prompted to request admin assistance for unblocking.
2. Create Account
 Enables new users to create an account on Forge Master.
 Users need to provide essential details such as email, password, name, and date of
birth.
 After successful account creation, users can log in using their credentials.
3. Search User
 Allows users to search for other users on Forge Master.
 Users can enter search criteria to find specific users.
 Search results display relevant user profiles.
4. Forget Password
 Assists users in resetting their passwords in case they forget them.
 Users need to provide their email for password recovery.
 Security questions may be prompted for additional verification.
 Upon successful validation, a temporary password is provided for account access.
5. Exit
 Provides an option for users to exit the Forge Master application.
 Users are prompted to enter a PIN for confirmation.
 Admins can access the admin panel by entering a specific PIN.
 Exiting the program clears all data and terminates the application.

 Create Account Function (createUser ()).


 User Input:
 Email: Prompts the user to enter their email address, which serves as a unique
identifier for their account.
 Password: Requests the user to create a password for their account, ensuring it
meets specified criteria for strength and security.
 Name: Asks the user to provide their first and last names, which are used for
personalization and identification purposes.
 Date of Birth: Requires the user to input their date of birth, which helps verify
their age and personalize their experience on Forge Master.
 Account Creation:
 The user's information, including email, password, name, and date of birth, is
stored in the respective arrays or data structures.
 Forget Password Function (forgetPassword())
1. User Input:
 Email: Requests the user to enter the email address associated with their Forge
Master account.
2. Security Questions Verification:
 If the email exists, the function prompts the user to answer a series of security
questions previously set up during account creation. If the user provides correct
answers to all security questions, the function proceeds with the password reset
process; otherwise, it displays an error message indicating that the security
questions verification failed.
3. Password Reset:
 Generates and displays a temporary password for the user and replaces the
existing password with the temporary one.
 Search User Function
1. Search Execution:
 Searches the user database or data structure for matching records based on the
provided search criteria.
 Retrieves and displays relevant user information for any matching records found,
such as email address, username, name, date of birth, etc.

LOGGED IN USER PANEL:


Logged In Menu Function (loggedInMenu ())
Purpose:
The loggedInMenu () function provides a menu interface for users who have successfully
logged in to their Forge Master accounts. It offers various options for managing account-related
tasks and accessing user-specific functionalities.
Functionality:
1. Menu Display:
 Presents a menu with several options for the user to choose from, including
viewing their profile, updating information, changing their password, deleting
their account, and logging out.
 Prompts the user to enter their choice from the displayed menu options.
 Processes the user's input and executes the corresponding functionality based on
their selection.
Functions Used in Logged in Menu:
1. View Profile Function (displayUserProfile ()):
 Displays detailed information about the user's profile, including username, email,
name, date of birth, security questions, and answers.
2. Update User Information Function (updateUser ())
Purpose:
The updateUser () function allows users to modify their account details and update them as
needed. It provides a convenient interface for users to change various aspects of their profile,
ensuring that their information remains accurate and up-to-date.
Functionality:
Steps in Update User Information Function:
1. Prompt for Update Type:
 Asks the user to specify which aspect of their account they want to update (e.g.,
username, email, name, date of birth, security questions).
2. Execute Update Process:
 Based on the user's input, triggers the corresponding update procedure for the
selected information category.
 Calls specific functions or methods responsible for handling updates to usernames,
emails, names, dates of birth, or security questions.
3. Validation and Confirmation:
 Validates the updated information to ensure its accuracy, completeness, and
compliance with platform policies.
 Provides confirmation messages to the user upon successful completion of updates,
indicating that their changes have been applied successfully.
3. Change Password Function (changePassword ()):
 Allows users to change their account password securely by entering their current
password and specifying a new one.
4. Delete Account Function (deleteUser ()):
 Provides users with the option to delete their Forge Master account permanently,
subject to password verification for security purposes.
5. Log Out Function:
 Logs the user out of their current session by resetting the logged-in user index and
returning them to the main menu interface.

ADMIN PANEL:
Admin Panel Overview
Accessing the Admin Panel:
To access the Admin Panel in Forge Master, users need to enter specific credentials: a login
address and a PIN. These credentials are established during the setup process and serve as a
secure gateway for administrators to manage various aspects of the platform.
Steps to Access the Admin Panel:
1. Enter Login Address:
 Users are prompted to input their designated login address, which serves as their
unique identifier for accessing the Admin Panel.
2. Provide PIN:
 After entering the login address, users are required to enter their corresponding
PIN, which acts as a password to authenticate their identity and grant access to the
Admin Panel.
3. Verification Process:
 The system verifies the provided login address and PIN against the stored
credentials in the system database.
 If the credentials match, users are granted access to the Admin Panel; otherwise,
access is denied.
Admin Panel Functionality
1. View Inbox:
 Description: Allows administrators to view incoming messages and requests from users,
including account unblock requests and requests for email access permissions.
 Functionality:
 Displays a list of messages categorized by user and type of request (e.g., account
unblock, permission requests).
 Provides options to review and process each message individually, such as
unblocking blocked accounts or granting permission requests.
2. Display All Users with Details:
 Description: Provides a comprehensive list of all users registered on the Forge Master
platform, along with their detailed account information.
 Functionality:
 Retrieves user data from the system database and presents it in a structured
format, including usernames, email addresses, account status, and other relevant
details.
 Allows administrators to review user profiles and account statuses for monitoring
and management purposes.
3. Search User:
 Description: Enables administrators to search for specific users by username or email
address within the platform's user database.
 Functionality:
 Offers a search interface where administrators can input the username or email
address of the user they wish to locate.
 Executes a search query against the user database and returns matching user
profiles based on the provided criteria.
4. Display Blocked Accounts:
 Description: Displays a list of user accounts that have been blocked due to violations of
platform policies or community guidelines.
 Functionality:
 Retrieves data for blocked user accounts from the system database and presents it
in a formatted manner.
 Provides options for administrators to review the reasons for each account's
blockage and take appropriate actions, such as unblocking or further investigation.
5. Block or Unblock a User:
 Description: Allows administrators to manually block or unblock user accounts based on
their behavior or compliance with platform rules.
 Functionality:
 Presents administrator with details of user accounts and their current status
(blocked or unblocked).
 Offers options to toggle the block status of individual user accounts, effectively
restricting or restoring their access to the platform's features and services.
6. Change Information of a User:
 Description: Provides administrators with the capability to modify user account
information, such as usernames, email addresses, and other profile details.
 Functionality:
 Facilitates updates to user account information upon administrator request,
ensuring that user profiles remain accurate and up-to-date.
7. Show Admin Panel Credentials:
 Description and functionality:
 Displays the login address and PIN associated with the Admin Panel, allowing
administrators to review and confirm their credentials.
8. Change Admin Panel Credentials:
 Description: Enables administrators to update the login address and PIN used to access
the Admin Panel, enhancing security and access control.
 Functionality:
 Prompts administrators to input new login address and PIN values.
9. Return to Main Menu:
 Description: Allows administrators to exit the Admin Panel and return to the main menu
of the Forge Master platform.

You might also like