← Back to projects

Project breakdown

SEGCD Document Management System

Stable proof of concept for workflow-based document management

  • ASP.NET Core ·
  • React ·
  • PostgreSQL ·
  • EF Core ·
  • JWT ·
  • Docker
Summary

Quick overview

Built a document workflow proof-of-concept from scratch with ASP.NET Core, PostgreSQL, EF Core, JWT authentication, permission-key authorization, audit history, reporting, batch attachments, and a React frontend. The system modeled department-based document routing with forward/back/complete/close actions and sensitive document access rules.

Details are anonymized and summarized without exposing internal code, customer data, or proprietary implementation details.

Project snapshot

Context, responsibility, outcome, and takeaway

Context

SEGCD was a document workflow system implemented from scratch as a proof-of-concept. It was designed around department-based document routing, where documents moved through different departments and users assigned to the current department could perform specific actions such as forward, back, complete, or close.

My role

I built the application myself while discussing architecture and implementation approach with another technical person. My work covered backend modules, authentication, permission-key authorization, document workflow services, reporting, batch attachments, audit history, and React operational screens.

Result

The proof-of-concept was presented to the client as a platform with potential to continue beyond the initial version. It demonstrated a full workflow system with backend business logic, access control, auditability, reporting, attachments, and a working frontend.

Takeaway

Workflow systems need explicit state transitions, department ownership, permission-key authorization, and auditability before UI polish matters.

Workflow

Document routing and auditability

01

Submit

02

Department action

03

Forward / Back

04

Complete / Close

05

Audit & report

Backend workflow shape

Request handling, workflow services, persistence, and traceability

01

User

02

Department

03

Workflow action

04

PostgreSQL

05

Audit log

Visual proof

Anonymized proof panels

Structured interface-style panels that show the project shape without exposing real users, client data, or private code.

Workflow queue

My Tasks queue

DOC-1042 · Legal department · Waiting

DOC-1048 · Finance department · Sent back

DOC-1051 · Registry · Ready to close

Document lifecycle

Document details

Current state: In review

Actions: Forward / Back / Complete / Close

Batch attachments: main document + supporting files

Traceability

Audit history

09:32 · Created by requester

10:14 · Routed to department

11:05 · Reviewed with comment

Implementation notes

Expandable details for the technical story

Architecture

The backend was implemented with ASP.NET Core, PostgreSQL, EF Core, JWT authentication, and permission-key based authorization. The system separated API endpoints, workflow services, persistence, audit, permissions, and document/task concepts so workflow rules could stay explicit.

Workflow rules

The workflow was based on departments. A document moved between departments, and users assigned to the current department could perform allowed actions such as forward, back, complete, and close. Once all required business steps were completed, the document reached a final business-finished state.

Authorization

Permissions were enforced through permission keys and department assignment. A user could only act on a document if their department was currently responsible for it, departments could not move documents outside their stage, and non-privileged users could not view sensitive documents.

Audit and traceability

The audit system stored user, action, timestamp, IP address, document-related state, and relevant metadata so workflow decisions could be reviewed later and document history could show who did what and when.

Validation rules

Important validations prevented actions on finalized documents, prevented departments from acting on documents not assigned to them, blocked unauthorized access to sensitive documents, and rejected invalid workflow transitions.

Technical focus

Core responsibilities and engineering details

  • Implemented authentication and login functionality with JWT-based access
  • Built permission-key based authorization instead of relying only on hardcoded roles
  • Implemented department-based workflow actions such as forward, back, complete, and close
  • Added user/department access rules so only the responsible department could act on the current document stage
Additional technical details 4 more points
  • Added validations to prevent invalid workflow transitions, unauthorized access, and actions on finalized documents
  • Implemented audit logging for user actions, timestamps, IP information, document state, and workflow metadata
  • Built reporting modules and batch attachment functionality
  • Built a React frontend with dashboard, document/task views, workflow screens, users/departments, reports, and audit pages
Technical documentation covered

Architecture and extension guide

  • Layered backend structure across Core, Application, Persistence, Infrastructure, and Api projects
  • Workflow lifecycle rules for document registration, department assignment, forward/back/complete/close actions, and final business-finished states
  • Permission conventions using resource.action keys, policy-based authorization, and backend enforcement as the source of truth
  • Global audit and document-level audit coverage for authentication, document actions, workflow transitions, attachments, and admin operations
  • Document file model covering current main document, main-document version history, and additional attachments
  • Extension patterns for adding new document actions, filters, CRUD modules, audit events, and workflow action types
  • Operational guidance for Docker development modes, API/frontend run commands, build commands, tests, and migration flow
  • Definition of done for new features: permission, backend validation, audit, UI guards, 403/404/409 handling, common components, tests, and build verification
What I can explain in an interview

Concrete topics this project supports

  • Department-based document routing with forward, back, complete, and close actions
  • Permission-key authorization and user/department access rules
  • Audit history for user actions, timestamps, IP information, and document/workflow metadata
  • Document lifecycle, batch attachments, task views, and reporting modules
  • Expected 403/404/409 behavior for permission, missing resource, and state-conflict cases
  • Docker/PostgreSQL local setup and EF Core persistence structure