โ† Rushma Parajuli ยท Projects

Entity Document CRM

Version 1 requirements

Goal

An internal web app to manage documents (EIN, licenses, insurance) for 20 business entities in retail, insurance, and service industries, with department-level confidential access. It must be free to run.

Stack

Core features (v1)

  1. Login with Supabase Auth.
  2. Entity list: a dashboard of all 20 businesses, filtered to the ones the logged-in user is allowed to see.
  3. Entity detail page: EIN info, licenses, and insurance, with document photos and PDFs that can be viewed and downloaded.
  4. Document upload (photo or PDF) to an entity. It must work on mobile: staff should be able to take a photo with their phone's camera and upload it on the spot, not just pick an existing file. An HTML file input with capture="environment" gives mobile browsers the camera as an option without any extra library.
  5. Expiration tracking: flag licenses and insurance that expire within 30 or 60 days.
  6. Admin panel: choose which users can see which entities.

Access model

As built, this became three roles:

RoleSeesCan change
AdminEvery entityEverything: entities, records, documents, access grants, and roles
EditorOnly entities they've been grantedEIN records, licenses, insurance, and their documents on those entities. Editors can't create entities or grant access.
ViewerOnly entities they've been grantedNothing (read-only)

Status

v1 requirements

RequirementStatus
LoginDone
Entity list, filtered by accessDone
Entity detail with document viewingDone
Document upload with mobile cameraDone
Expiration alerts (30 and 60 days)Done
Admin access-assignment panelDone

Added since v1

Build order

  1. Set up the Supabase project and run the schema.
  2. Scaffold the Next.js app and connect the Supabase client.
  3. Build the auth and login flow.
  4. Build the entity list and detail views.
  5. Build document upload with Supabase Storage.
  6. Build the admin access-assignment panel.
  7. Add the expiration alerts dashboard.
  8. Deploy to Vercel (free tier).

Notes and constraints