Skip to content

Add DocxodusWeb: serverless redline & ticket management app#122

Open
JSv4 wants to merge 1 commit intomainfrom
claude/serverless-redline-ticketing-DKpWv
Open

Add DocxodusWeb: serverless redline & ticket management app#122
JSv4 wants to merge 1 commit intomainfrom
claude/serverless-redline-ticketing-DKpWv

Conversation

@JSv4
Copy link
Copy Markdown
Owner

@JSv4 JSv4 commented Apr 1, 2026

Summary

Introduces DocxodusWeb, a new ASP.NET Core Minimal API web application for serverless deployment (Cloud Run, etc.) that provides document comparison and ticket management capabilities.

Key Changes

New Web Application (web/DocxodusWeb/)

  • Program.cs — ASP.NET Core Minimal API setup with:

    • SQLite database context for ticket persistence
    • /api/compare — POST endpoint to upload two DOCX files and receive a redlined DOCX with tracked changes
    • /api/compare/html — POST endpoint to generate HTML preview of comparison
    • /api/tickets — GET/POST endpoints for ticket CRUD operations with pagination and filtering
    • /api/tickets/{id} — GET/PATCH endpoints for individual ticket detail and status updates
    • /api/tickets/{id}/files/{which} — GET endpoint to download original, modified, or redline files
    • SPA fallback routing for static frontend
  • Data/TicketDbContext.cs — Entity Framework Core DbContext with:

    • Ticket model storing document metadata, file paths, comparison results, and revision counts
    • TicketStatus enum (Open, InProgress, Resolved, WontFix, Duplicate)
    • SQLite configuration with automatic migrations on startup
  • Frontend (wwwroot/):

    • index.html — Single-page app with three tabs: Redline, Tickets, Submit Ticket
    • app.js — Client-side logic for form submission, API calls, modal interactions, and pagination
    • style.css — Modern, responsive design with CSS variables and mobile support

Configuration & Deployment

  • DocxodusWeb.csproj — .NET 8 project with EF Core SQLite and Docxodus library dependencies
  • Dockerfile — Multi-stage build for Cloud Run deployment with native font dependencies
  • launchSettings.json — Local development profile on port 5050
  • .dockerignore — Excludes build artifacts and app data from container

Notable Implementation Details

  • Supports 100 MB file uploads via Kestrel configuration
  • Automatic comparison on ticket submission with revision counting and error logging
  • Persistent storage in DATA_DIR environment variable (defaults to ./appdata)
  • Comparison log captures warnings/errors from the Docxodus library
  • File downloads use proper MIME types and original filenames
  • Form handling with DisableAntiforgery() for API endpoints
  • Responsive UI with status badges, modals, and pagination controls

Integration

  • Integrates with existing Docxodus library for document comparison
  • Updated solution file to include new web project
  • Updated CHANGELOG.md with feature documentation

https://claude.ai/code/session_01AjAKUPxua4GGCPiAKwbd2R

ASP.NET Minimal API app for Cloud Run / serverless deployment with:
- POST /api/compare — upload two DOCX, get redlined DOCX back
- POST /api/compare/html — upload two DOCX, get HTML preview
- Ticket system (SQLite) for reporting rendering issues with file uploads
- Auto-runs Docxodus comparison on ticket submission, stores results
- Simple HTML/CSS/JS frontend with redline, ticket list, and submit tabs
- Dockerfile for containerized deployment
- Configurable DATA_DIR for persistent storage

https://claude.ai/code/session_01AjAKUPxua4GGCPiAKwbd2R
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants