Skip to main content

Шаблоны Python-приложений для демонстрационного экзамена: PostgreSQL, Tkinter, авторизация, CRUD.

Project description

katicas

katicas is a PyPI-ready helper library for building demo exam desktop apps in Python. It is domain-neutral: the same code can become a shoe store, restaurant, zoo, library, hotel, clinic, or warehouse app by changing a JSON specification.

What it gives you

  • PostgreSQL connection helper for pgAdmin-created databases.
  • Login by login and password from a users table.
  • Role-based access: guest, client, manager, administrator.
  • Tkinter UI with required exam-style screens: login, entity list, search, filtering, sorting, CRUD.
  • SQL generator for users, roles and your main entities.
  • Import helper for official exam .xlsx, .csv and .txt files.
  • Project generator: demexam-new.

Russian documentation:

  • GUIDE_RU.md - detailed usage, exam workflow and PyPI notes.
  • MODULES_RU.md - explanation of every module.
  • examples/custom_template.json - blank domain template.

Each generated project also contains:

  • 01_ALGORITHM.md - step-by-step exam workflow.
  • 02_DATABASE_3NF.md - database and 3NF checklist.
  • 03_AUTH.md - login window and role checklist.
  • 04_IMPORT_EXCEL.md - Excel/CSV import checklist.
  • 05_DB_CONNECTION.md - PostgreSQL connection checklist.
  • 06_MODELS.md - models, entities and fields.
  • 07_PAGES_TRANSITIONS.md - screens and navigation.
  • 08_ROLE_PAGES.md - what guest/client/manager/admin see.
  • 09_MODULES_MAP.md - where every module lives.
  • 10_FINAL_CHECKLIST.md - final submission checklist.
  • 11_FLOWCHARTS.md - flowchart templates for auth, CRUD, import and app logic.

Install locally while testing

pip install -e .

After publishing to PyPI:

pip install katicas

Generate an exam project

demexam-new --preset store --out my_exam_app
cd my_exam_app
python app.py

Or use your own domain file:

demexam-new --spec restaurant.json --out restaurant_app

The generated project is standalone: it contains a local examlib folder, so the app does not break after removing the installed generator package.

Database environment variables

set DEMEXAM_DB_NAME=demo_exam
set DEMEXAM_DB_USER=postgres
set DEMEXAM_DB_PASSWORD=postgres
set DEMEXAM_DB_HOST=localhost
set DEMEXAM_DB_PORT=5432

On PowerShell:

$env:DEMEXAM_DB_NAME="demo_exam"
$env:DEMEXAM_DB_USER="postgres"
$env:DEMEXAM_DB_PASSWORD="postgres"

Run generated SQL in pgAdmin first:

python app.py --print-sql

Then import official exam files from the Импорт folder:

python app.py --import-dir "Импорт"

The generated schema.sql does not add fake business rows. If you need quick demo rows for local testing only:

python app.py --print-sql --with-sample-data

Before leaving the exam computer, if required by the rules:

pip uninstall katicas -y

Do not delete the generated project files you wrote for the solution.

Domain idea

The task changes words, not the architecture:

  • Store: products, orders, clients.
  • Restaurant: dishes, tables, bookings/orders.
  • Zoo: animals, enclosures, visits.
  • Library: books, readers, loans.

Change spec.json, keep the code.

Important

No package can guarantee passing an exam by itself. This library is meant to save time on repetitive CRUD, auth, PostgreSQL and Tkinter structure so you can adapt the app quickly to the exact task.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

katicas-0.1.5.tar.gz (26.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

katicas-0.1.5-py3-none-any.whl (29.1 kB view details)

Uploaded Python 3

File details

Details for the file katicas-0.1.5.tar.gz.

File metadata

  • Download URL: katicas-0.1.5.tar.gz
  • Upload date:
  • Size: 26.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for katicas-0.1.5.tar.gz
Algorithm Hash digest
SHA256 983892f5f7596f9cc86de1c5054ed0b66037f4f2f8a97fe5427cbc8b0ce6fca7
MD5 dab6c71f9ff127875d40eeb2eb1e9640
BLAKE2b-256 c755e093a5d1acc3bb9323921e63bfd6bc23280a67aeb4582d82e2d8fcbf686d

See more details on using hashes here.

File details

Details for the file katicas-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: katicas-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 29.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for katicas-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a1552565e6e0e82cfa34c7019f83e3e75594aac6c34e07fe1325aeeae99154d4
MD5 596db71eb53d11505cbb34dc158ca81b
BLAKE2b-256 6512fb3e4dfde21330e3aae89b8cf13abacfc2d332680e5aa37a886acb774f28

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page