Desktop application dedicate to management bills and invoices.
-
Main libraries:
- Pyside6 -> QT framework
- sqlalchemy -> Object Relational Mapper
- Alembic -> lightweight database migration tool
-
Folder Structure:
- root ->
- designer -> Qt's UI files
- package -> main application source
- models -> UI QModels
- services -> Business and Data logic
- ui -> autogenerated ui files (make)
- views -> main windows logic
- make will compile the QT files to pyt using uic
PySide6: IN my environment I need to direct to qt6 if not will create using Qt2.
/usr/lib/qt6/uic -g python designer/mainwindow.ui > package/ui/ui_mainwindow.py
- Create environment (venv)
- activate environment (source)
- install requirements (pip)
- create database (alembic)
- run
Example:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
alembic -c package/services/alembic/alembic.ini upgrade head
python main.py