π Invoice App
This is a solution to the Invoice app challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.
β Table of contents
π‘ Overview
The challenge
The challenge is to build out this multi-page website and get it looking as close to the design as possible.
Users should be able to:
- View the optimal layout for the app depending on their device's screen size
- See hover states for all interactive elements on the page
- Create, read, update, and delete invoices
- Receive form validations when trying to create/edit an invoice
- Save draft invoices, and mark pending invoices as paid
- Filter invoices by status (draft/pending/paid)
- Toggle light and dark mode
- Bonus: Keep track of any changes, even after refreshing the browser (
localStorage
could be used for this if you're not building out a full-stack app)
Screenshots
Links
π― My process
Built with
- Semantic HTML5 markup
- CSS custom properties
- Flexbox
- CSS Grid
- Mobile-first workflow
- Accessibility in mind
- Next.js 14 β Full-Stack Web Framework
- React β JS library
- Clerk β Authentication and User Management
- Prisma β Node.js and TypesScript ORM
- TypeScript
- Vitest β Next Generation Testing Framework
- Storybook β Frontend workshop for UI
- Tailwind CSS β CSS Framework
- Vercel β Frontend Cloud
What I learned
-
Next.js 14:
- TODO
-
Clerk:
- TODO
-
Prisma:
- TODO
-
Vercel Postgres:
- TODO
-
Storybook:
- TODO
Useful resources
- Next.js Documentation
- Clerk Documentation
- Prisma Documentation
- React Documentation
- Vitest Documentation
- Tailwind CSS Documentation
- Vercel Documentation
π¨βπ» Author
- Website β www.jakubjirous.dev
- Frontend Mentor β @jakubjirous
- LinkedIn β jakubjirous
- Twitter/X β jakubjirous_dev