How codepaiva/projeto-sisupa works
SisUpa is a Tkinter desktop application for storing uploaded files and browsing previews. The main workflow is file selection, upload and compression, SQLite persistence, dynamic listing, then selection or navigation to preview an extracted image or PDF. The graph also includes the documented upload, listing, preview, and image-navigation capabilities, plus format strategies. Edges reflect visible calls and wiring; the README documents user-facing capabilities, while PPTX/XLSX strategy implementations are present but their runtime dispatch is not shown in the sampled processor.
Main entry points: main.py Application entry · form_view.py Upload form · file_processor_service.py Preview processor · render_preview_view.py File list and preview
Components 15
Desktop interface
- Application entry
app/main.py - Upload form
app/views/form_view.py - File list and preview
app/views/render_preview_view.py
File workflow
- File selection
app/services/search_file_service.py - Upload service
app/services/upload_service.py - File compression
app/services/compressed_service.py
Preview processing
- Preview processor
app/services/file_processor_service.py - File decompression
app/services/decompressed_service.py - File strategy interface
app/Strategy/file_interface_strategy.py - Image strategy
app/Strategy/image_strategy.py - PDF strategy
app/Strategy/pdf_strategy.py - PPTX strategy
app/Strategy/pptx_strategy.py - XLSX strategy
app/Strategy/xlsx_strategy.py
Persistence
- SQLite repository
app/repositories/repository.py
Other components
- User
Connections 20
- User → Upload form: uses
README.md - Application entry → Upload form: initializes
app/main.py - Application entry → File list and preview: initializes
app/main.py - Application entry → File selection: provides
app/main.py - Application entry → Upload service: provides
app/main.py - Application entry → Preview processor: provides
app/main.py - Upload form → File selection: requests file
app/views/form_view.py - Upload form → Upload service: uploads file
app/views/form_view.py - Upload form → File list and preview: triggers list refresh
app/main.py - Upload service → File compression: compresses file
app/services/upload_service.py - Upload service → SQLite repository: inserts record
app/services/upload_service.py - File list and preview → SQLite repository: reads records
app/views/render_preview_view.py - File list and preview → Preview processor: requests preview
app/views/render_preview_view.py - Preview processor → File decompression: decompresses file
app/services/file_processor_service.py - Preview processor → Image strategy: dispatches images
app/services/file_processor_service.py - Preview processor → PDF strategy: dispatches PDFs
app/services/file_processor_service.py - Image strategy → File strategy interface: implements
app/Strategy/image_strategy.py - PDF strategy → File strategy interface: implements
app/Strategy/pdf_strategy.py - PPTX strategy → File strategy interface: implements
app/Strategy/pptx_strategy.py - XLSX strategy → File strategy interface: implements
app/Strategy/xlsx_strategy.py