Skip to content

swarnabha-dev/PrintFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

PrintFlow

PrintFlow is a small suite of Python services and a frontend for collecting, storing and analyzing Windows print events. It contains two related projects in this repository:

  • PRINT_MGMT — management/analytics service, REST backend, frontend UI and utilities for generating reports and PDFs.
  • PRINT_SERVER — a lightweight API/service for ingesting print events and serving logs (core server components).

This README summarizes the layout, quick setup and common tasks for developers.

Repo layout (top-level)

  • PRINT_MGMT/ — main management app (backend, frontend, templates, dump utilities). See README sections below for start commands.
  • PRINT_SERVER/ — server app (API, core, DB models, static UI and scripts).
  • .gitignore — repository gitignore covering both projects.

Quick prerequisites

  • Python 3.10+ (projects include requirements.txt). Use a virtualenv per project.
  • On Windows, PowerShell is handy for included scripts.
  • If using TLS locally, prepare certs in each project's certs/ folder (some certs are intentionally gitignored).

Install (per project)

  1. Open a terminal in the project folder you want to run (either PRINT_MGMT or PRINT_SERVER).
  2. Create and activate a virtual environment:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt

Configuration

  • Most config is in config.toml / backend_config.toml / frontend_config.toml per project root.
  • Environment sensitive values can be placed in a .env file (some frontends include .env).
  • Database connection and Alembic migrations live in alembic/ and alembic.ini.

Running

  • PRINT_MGMT: many helper scripts exist; common entry points are run.py or run_hypercorn.py for ASGI. For example:
cd PRINT_MGMT
.\.venv\Scripts\Activate.ps1
python run.py
# or
python run_hypercorn.py
  • PRINT_SERVER: a main.py exists at project root and there are helper run_hypercorn.py scripts. Example:
cd PRINT_SERVER
.\.venv\Scripts\Activate.ps1
python main.py
# or
python run_hypercorn.py

Adjust commands according to your chosen ASGI server or deployment tooling.

Database & migrations

  • Both projects include Alembic setup. Use alembic from the project directory to run migrations (check alembic.ini for connection settings).

Logs, data and sensitive files

  • Logs: each project writes logs; see logs/ folders. The repository .gitignore excludes common log patterns and certs/ to avoid committing private keys.
  • Raw event files (EVTX) and database files are large and ignored by default (e.g., *.evtx, *.db).

Development notes

  • Frontend code lives under PRINT_MGMT/frontend (and has its own small client).
  • Many scripts for parsing EVTX and generating reports are under dump/ and PRINT_MGMT/dump.
  • For local SSL testing, place certs in certs/ and reference them in each project's config; do not commit these files.

Contributing

  • Open an issue describing the change, make a branch, and submit a PR. Keep changes focused and add tests where appropriate.

License & Contact

  • For any questions, inspect the project's top-level scripts and configuration files to learn local run conventions.

About

Secure print management & analytics platform with cartridge consumpsion forecasting

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors