User Authentication Program
Overview
This project implements a user authentication system (sign up, sign in, reset password, and sign out) based on the provided flowchart. It simulates the process of managing users, validating credentials, and ensuring secure access to an application.
The system is designed using Python and follows the logic outlined in the flowchart.
π Features
Sign Up
User enters credentials (username, password, phone number, DOB).
Validation for:
Phone number format (10 digits, starts with 9, ends with 0).
Password confirmation.
Correct DOB format (YYYY/MM/DD).
Minimum age requirement (above 18).
Data stored in a user list upon successful registration.
Sign In
User enters login credentials.
Validation against stored data.
Allows up to 3 incorrect password attempts.
Successful login grants access.
Password Reset
User can reset password if forgotten.
Old and new password must be verified.
Updated password stored securely.
Sign Out
User can exit the system gracefully.
ποΈ File Structure βββ Assignment_1/ β βββ flowchart.png # Visual representation of the process β βββ main.py # Python implementation β βββ README.md # Documentation (this file) βββ Assignment_2/ β βββ ... βββ Assignment_3/ β βββ ... βββ Assignment_4/ βββ ...
π οΈ How to Run
Make sure you have Python 3.x installed.
Clone this repository or download the files.
Navigate to the assignment folder.
Run the program:
python main.py
π Example Workflow
Start the program.
Choose an option:
1 β Sign Up
2 β Sign In
3 β Quit
Follow the prompts according to the flowchart logic.
Program will guide the user step by step until sign out.
π¨βπ» Authors
Chandra Bahadur Gurung
Chijioke Iteka