Skip to content
Nikhil Karmakar edited this page Sep 1, 2024 · 1 revision

Welcome To SignInXert Wiki

Project Overview

SignInXert is a basic authentication and login system built using Tkinter in Python. It provides functionalities for user login, account creation, and profile management. The application demonstrates the use of object-oriented programming (OOP) to manage multiple pages and frames, making it suitable for social or e-commerce applications.

Features

  • Login System: Allows users to log in using UID and password.
  • Account Creation: Enables the creation of new user accounts by providing full name, email, age, and password.
  • Verification: Verifies the correctness of the provided user data.
  • GUI Interface: Built with Tkinter for a user-friendly interface.
  • Configuration Management: Supports modifying application settings such as background color and window geometry through a JSON configuration file.
  • Data Caching: Maintains a cache of logged-in user data to streamline user experience.
  • Logout Functionality: Allows users to log out and properly manage session data.

File Structure

./ {Root}
    ├── main.py {Driver code. Calls SignInXert}
    ├── util/ {Information for README.md}
    ├── src
    │    ├── SignInXert.py {Main application}
    │    ├── UserDataBank.py
    │    ├── __init__.py {!NOT DEFINED}
    │    ├── lib/ {Custom modules}
    │    ├── icon/ {Icons}
    │    ├── cache/ {Logged-in user data}
    │    ├── logs/
    │    ├── info/
    │    ├── example/ {Test projects, not part of the application}
    │    ├── database/
    │    ├── config/ {JSON configuration files}
    ├── LICENSE
    ├── README.md
    ├── .gitignore

Main Components

  • UserDataBank: Manages user data storage and retrieval using the lib.FileAccess module.
  • SignInXert: The core application handles routing and controls different pages (LoginPage, HomePage, etc.).

Startup

  • Initialization: The application checks for a logged-in user on startup. If a user is logged in, it displays the HomePage; otherwise, it shows the LoginPage.

Conditions

  • Create Account: Users without an account can create one by clicking the provided button.

Future Plans

  • Expand the application with additional features and improvements.
  • Enhance the user interface and add more functionalities based on user feedback.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Documentation

For detailed documentation and updates, please refer to the Wiki on GitHub (to be created).