Imagicity Invoicing is a production-ready invoicing experience optimised for AWS Amplify Hosting. The app ships with a polished React 18 + Vite + TypeScript front-end, Tailwind-based styling, shadcn/ui primitives, React Query for data flows, and a Dexie-powered IndexedDB adapter that keeps the demo fully functional even without a live backend.
npm install
npm run devThe application runs on http://localhost:5173. Sign in with the prefilled demo credentials and explore the dashboard, invoicing flows, and PDF previews.
npm run dev– start Vite in development modenpm run build– create a production build indistnpm run preview– preview the build output locallynpm run lint– run ESLint against thesrcdirectorynpm run test– execute Vitest unit testsnpm run playwright– run Playwright smoke tests (requires the dev server running separately)
- Commit this repository to GitHub.
- In AWS Amplify Hosting connect the repository and select the
mainbranch. - Add environment variables
VITE_BRAND_NAME,VITE_BRAND_PRIMARY, and optionallyVITE_API_BASE_URLif you have a REST backend. - Amplify will detect the
amplify.ymlbuild configuration automatically. Accept it or provide the same file. - Redeploy on commits – Amplify will rebuild and publish the latest
distoutput.
- React Router powers route grouping (public auth routes vs. private app shell with
AuthGate). - Zustand manages UI state such as theme and authenticated user session, with a Dexie-backed demo mode.
- React Query abstracts data fetching and caching regardless of whether the REST adapter or the IndexedDB adapter is active.
- Dexie provides a full client-side demo, automatically seeding clients, items, and invoices.
- pdf-lib generates branded, A4-ready PDFs with CGST/SGST/IGST breakdowns.
- Framer Motion delivers subtle micro-interactions on dashboard cards and entry animations.
Vitest covers GST computations, numbering logic, and PDF header rendering. A Playwright smoke test walks through the IndexedDB invoicing flow. Run them with:
npm run test
npm run playwright(Ensure npm run dev is running in another terminal before executing the Playwright test.)
The UI keeps contrast high in both light and dark themes, leverages semantic HTML, and respects key interactions:
N– new invoiceC– new clientS– saveP– preview PDFGthenD– go to dashboardF– open global search / command palette
Enjoy creating invoices with Imagicity!