← Back to My Work
Home›Projects›PythonAuthSystem
Foundation · CLI authentication

PythonAuthSystem

● Learning / Foundation

A command-line Python authentication and user-management foundation covering registration, login, verification, admin user operations and email OTP.

PythonJSONSMTPOTPPasslib-style CLI toolingpwinput
PythonAuthSystem project visual
01 · OVERVIEW

What is PythonAuthSystem?

What the project does

PythonAuthSystem is a learning-oriented authentication foundation built without a web framework or database server. It focuses on understanding user registration, login, verification and administrative user management.

How it benefits the user/business

  • Provides a clear introduction to authentication workflow design.
  • Separates user and admin operations.
  • Demonstrates email OTP verification and password-entry handling.
  • Creates a foundation that can later be migrated to a database-backed web application.

Platform & environment

Python command-line application using JSON files for persistence and Gmail SMTP for OTP delivery.

02 · FEATURES

What is included?

01 · User registrationImplemented as part of the project's current scope.
02 · Login by email or phoneImplemented as part of the project's current scope.
03 · Hidden password inputImplemented as part of the project's current scope.
04 · Verification workflowImplemented as part of the project's current scope.
05 · Forgot-password flowImplemented as part of the project's current scope.
06 · Email OTP generationImplemented as part of the project's current scope.
07 · Admin user registrationImplemented as part of the project's current scope.
08 · Admin verificationImplemented as part of the project's current scope.
09 · View/delete/update usersImplemented as part of the project's current scope.
10 · JSON persistenceImplemented as part of the project's current scope.
03 · WORKFLOW

How the project works

Application Start
   ↓
Main Menu
   ├── User View
   │     ↓
   │   Login / Register / Verification
   │     ↓
   │   Authenticated User
   │
   └── Admin View
         ↓
     Manage Users
         ↓
 Register / Verify / Update / Delete
04 · BACKEND

What role does the backend play?

The backend/application layer is responsible for connecting the interface to the project's data, business logic and user workflows.

  • There is no web backend; the Python application itself acts as the application layer.
  • users.json stores user records and OTP.json stores verification data in the learning implementation.
  • SMTP is used to send OTP messages.
  • The project demonstrates backend concepts at the CLI level before introducing databases, APIs and web frameworks.
05 · USAGE

How is it used?

The operator runs the Python program in a terminal, selects User or Admin mode, and follows the corresponding authentication/user-management menus.

Project maturity: Learning / Foundation. The purpose of this page is to explain the implementation that exists in the repository, while keeping production-readiness claims separate.
06 · LIMITATIONS

Current boundaries

This project is explicitly a learning foundation. Plain JSON persistence and development credentials should not be used for production authentication. A real version should use password hashing, environment secrets, OTP expiry/rate limiting, a database and secure account recovery.