# Complete ServiceTrade Tool Project # ServiceTrade Toolbox A web application for interacting with ServiceTrade API, focusing on document management and workflow automation. ## Project Structure ``` . ├── apps │ └── web │ └── main.go ├── go.mod ├── go.sum ├── internal │ ├── api │ │ ├── api.go │ │ ├── attachments.go │ │ ├── auth.go │ │ ├── deficiencies.go │ │ ├── invoices.go │ │ ├── jobs.go │ │ └── session_store.go │ ├── handlers │ │ └── web │ │ ├── admin.go │ │ ├── assets.go │ │ ├── companies.go │ │ ├── contacts.go │ │ ├── contracts.go │ │ ├── dashboard.go │ │ ├── documents.go │ │ ├── generic.go │ │ ├── invoices.go │ │ ├── jobs.go │ │ ├── locations.go │ │ ├── login.go │ │ ├── notifications.go │ │ ├── quotes.go │ │ ├── services.go │ │ ├── tags.go │ │ └── users.go │ └── middleware │ └── auth_middleware.go ├── Readme.md ├── static │ ├── css │ │ └── styles.css │ └── js │ └── htmx.min.js └── templates ├── dashboard.html ├── layout.html ├── login.html └── partials ├── admin.html ├── assets.html ├── companies.html ├── document_upload.html ├── document_remove.html ├── document_job_selection.html ├── document_attachments.html ├── document_bulk_remove.html ├── invoice_search.html ├── invoice_search_results.html └── jobs.html ``` ## Features - **Authentication**: Secure login and session management with ServiceTrade API - **Document Management**: Upload and manage documents across multiple jobs - Supports large file uploads with efficient streaming - Batch document processing with CSV job ID imports - Document removal tools - **Invoice Processing**: View and update invoice statuses - **Job Management**: Search and view job information ## Server Configuration The server is configured with generous timeouts to support large file uploads: - Read timeout: 30 minutes - Write timeout: 30 minutes - Idle timeout: 2 minutes