Skip to content

O FastPrinterAPI é um sistema para gerenciamento centralizado de múltiplas impressoras, com foco em estatísticas, previsões e histórico detalhado de manutenção.

Notifications You must be signed in to change notification settings

caua1503/FastPrinterApi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FastPrinterAPI

📖 Read this documentation in Portuguese

Python FastAPI PostgreSQL Redis Docker

FastPrinterAPI is a centralized system for managing multiple printers, focusing on statistics, forecasting, and detailed maintenance history. The project uses a monorepo architecture, containing both backend (API) and frontend (graphical interface) in a single repository for easier integration and maintenance.

Objective

To facilitate the control, monitoring, and maintenance of printer fleets by providing:

  • Real-time usage and status statistics
  • Forecast of upcoming refills and cleanings
  • Complete history of maintenance, refills, and events
  • Management of departments, supplies, and users

Key Features

  • Printer Management: Register, update, query, and remove printers
  • Maintenance History: Record and consult maintenance, refills, and cleanings
  • Intelligent Forecasting: Calculation of the next refill/cleaning based on history
  • Departments: Organization of printers by sectors
  • Multi-user System: With control levels and access permissions
  • Secure Authentication: Protected endpoints for sensitive operations using JWT
  • API System: Flexible API system, allowing the creation of keys for one or multiple functions with different access levels
  • Permission System: Flexible permission system (RBAC and ABAC) for both users and APIs

Technologies Used

  • Python 3.12+
  • FastAPI (asynchronous)
  • Postgres 17 (Database)
  • Redis 8.0 (Cache database)
  • Pydantic (data validation)
  • Celery Python (Task executor and queue system)
  • SQLAlchemy (ORM)
  • Alembic (migrations)
  • Docker (optional)

Application Architecture

FastPrinterAPI uses a modular, scalable, and maintainable monorepo architecture, with backend and frontend organized in the same repository for clear separation of responsibilities and integrated development.

Directory structure:

impressoras/
  backend/    # Backend API (FastAPI, Celery, PostgreSQL, Redis, etc.)
  frontend/   # Frontend application (graphical interface, in development)

This approach allows better integration, unified versioning, and easier management of shared resources. Each module (backend and frontend) is self-contained, with its own dependencies and documentation, but both are part of the same project for streamlined development and deployment.


About

O FastPrinterAPI é um sistema para gerenciamento centralizado de múltiplas impressoras, com foco em estatísticas, previsões e histórico detalhado de manutenção.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages