A CRUD app which allows the user to create, review and update invoices, filter and toggle between light and dark mode. Built using Next.js, TypeScript, MongoDB, Tailwind CSS, Shadcn, Storybook, React Hook Form, Zod, Playwright and Husky. This repo is currently under development.
Features
- TypeScript for type safety
- MongoDB to store invoice data back-end
- Mongoose to define document schema-based validation
- SWR to dynamically fetch and list countries for form
- Auto-complete payment due date from invoice date and payment terms
- API routes to fetch invoices
- React Hook Form and Zod schemas for robust form capture and validation
- Shadcn UI components for ARIA-compliant and unopinionated interactivity and styling
- Redesigned UI with a modern, neutral-palette light and dark mode theme
- Storybook to test components in isolation
- Playwright for E2E and a11y testing