Python boilerplate for building desktop applications with Tkinter
This repository provides a standardized Python boilerplate for building desktop applications with Tkinter. The goal is to simplify the process of creating apps like ERP systems, POS, or billing software by offering a structured and secure starting point. Key features include:
- Model-View-Controller (MVC) Architecture: For clean and maintainable code.
- User Authentication: Ready-to-use authentication system.
- Security Best Practices: Secure handling of user data and application logic.
- Documentation: Clear and concise guides for setup and usage.
- Tkinter-based UI: Fast and simple GUI development.
- Authentication Module: Built-in user authentication for secure access.
- Modular Structure: Easily extendable for additional features.
- Beginner-Friendly: Clear instructions to help you get started quickly.
- Python 3.8 or later
- pip (Python package manager)
To get started, clone the repository using the following command:
git clone https://github.com/dreamstudio-satheesh/TkBoilerplate.git
cd TkBoilerplateCreating a virtual environment ensures a clean Python environment for your project. Follow the steps below:
-
Open your terminal or command prompt.
-
Navigate to your project directory:
cd /path/to/your/project -
Create a virtual environment:
python -m venv venv
-
Activate the virtual environment:
- Windows:
venv\Scripts\activate
- Mac/Linux:
source venv/bin/activate
- Windows:
-
Install required dependencies:
pip install -r requirements.txt
-
Verify the virtual environment is active:
python --version
The Python version displayed should match your virtual environment.
project/
|-- .gitignore
|-- LICENSE
|-- README.md
|-- config/
| |-- __init__.py
| |-- database.py
|-- controllers/
| |-- __init__.py
| |-- auth_controller.py
|-- main.py
|-- models/
| |-- __init__.py
| |-- user.py
|-- requirements.txt
|-- tests/
| |-- __init__.py
| |-- test_authentication.py
|-- utils/
| |-- __init__.py
| |-- menu_manager.py
| |-- security.py
| |-- validators.py
|-- views/
| |-- __init__.py
| |-- dashboard_view.py
| |-- login_view.py
- Activate your virtual environment (if not already activated).
- Run the application:
python main.py
Contributions are welcome! Please follow the guidelines in CONTRIBUTING.md.
This project is licensed under the MIT License.