Back to Sneha's profile
18views

EXPIRY ALERT ' 26

Sneha Kumari
  • Expert reviewed
EXPIRY ALERT ' 26

Overview

Setup & Installation

  1. The project uses a split full-stack monorepo architecture. Run npm install in both the /backend and /frontend directories.
  2. The database is hosted on a cloud PostgreSQL instance via Supabase. Local environment parameters utilize standard .env connection pooling on backend port 5000.
  3. Start the backend engine with npm run dev and launch the client UI server via npm run dev inside the frontend directory (Vite port 5173).

Key Architectural Decisions

  • Dynamic Status Resolution: Document expiration statuses (Active, Expiring Soon, Expired) are not stored statically. They are computed dynamically in real-time via PostgreSQL CASE statements on every fetch, preventing out-of-date records.
  • Background Automation Engine: Built a node-cron engine that runs daily at 8:00 AM to automatically scan for target documents hitting critical thresholds (30-day, 7-day, and 1-day actions), making the platform proactive rather than passive.
  • Modern Client Pipeline: Migrated the view rendering engine to use Tailwind CSS v4 alongside a PostCSS compilation pipeline for optimal client performance and clean CSS scannability.