A desktop CRUD application developed with Python, Tkinter, and SQLite.
The project provides a graphical interface for managing users, user accounts, administrative operations, and messages through a local SQLite database.
Note: This project was developed as an educational project to practice Python, object-oriented programming, GUI development, database operations, and CRUD concepts.
- User registration and login
- Admin registration and authentication
- User management
- Add, edit, search, and remove users
- Password reset functionality
- User and admin panels
- Message management
- Message starring and deletion
- Captcha-based registration and login validation
- SQLite database integration
- Graphical user interface built with Tkinter
- Password hashing using SHA-512
- Python
- Tkinter — Graphical User Interface
- SQLite — Local database
- Pillow (PIL) — Image handling
- Git / GitHub — Version control and project hosting
Python-CRUD-SQLite/
│
├── User_Frontend.py
├── User_Backend.py
│
├── Add.png
├── Back.png
├── delete.png
├── Edit.png
├── Panel.png
├── Refresh.png
├── Reset password.png
├── Search.png
├── Send Message.png
├── star.png
│
├── requirements.txt
├── .gitignore
└── README.md
Note: The SQLite database file (
Server.db) is not included in the repository. It is created locally by the application when needed.
The application is divided into two main Python modules:
Tkinter GUI
│
▼
User_Frontend.py
│
▼
User_Backend.py
│
▼
SQLite Database
│
▼
Server.db
User_Frontend.py contains the graphical user interface built with Tkinter.
It handles:
- Registration
- Login
- User interface
- Admin interface
- User management screens
- Message management
- Input validation
- Interaction with backend functions
User_Backend.py handles database-related operations using SQLite.
It contains separate classes for:
- Validation and database queries
- User operations
- Admin operations
The application uses SQLite as a local database.
The database is created automatically by the application when it is run.
The database contains tables for:
- Users
- Administrators
- Messages
The database is used for storing account information, authentication data, and messages.
The database file (Server.db) is intentionally excluded from the GitHub repository.
git clone https://github.com/ShadowWolf-mh/Python-CRUD-SQLite.gitcd Python-CRUD-SQLitepip install -r requirements.txtpython User_Frontend.pyThe SQLite database will be created locally when the application runs.
- Python 3.x
- Pillow
- Windows
Tkinter and SQLite are included with standard Python installations.
This project was developed to practice and demonstrate experience with:
- Python programming
- Object-oriented programming
- GUI development
- CRUD operations
- SQLite database interaction
- SQL queries
- User authentication
- Input validation
- Basic application architecture
- Working with multiple Python modules
This is an educational project and is not intended to be a production-ready application.
The project represents an earlier stage of my Python development journey and is preserved as part of my programming portfolio.
