invoice-app
invoice-app copied to clipboard
a full-stack invoicing application built with next.js and nest.js
Frontend Mentor - Invoice app solution
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
- Screenshot
- Links
-
My process
- Built with
- Useful resources
- Author
Overview
The challenge
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)
Screenshot
Links
- Solution URL: GitHub Repository
- Live Site URL: Invoice App | Home
My process
Built with
- HTML5 & CSS3
- CSS custom properties
- ReactJS - JS library
- NextJS - React framework
- NestJS - Nodejs framework
- MongoDB - NoSQL database
- Mongoose - ODM for mongodb and nodejs
- Formik - Form library for react
- React Datepicker - Datepicker component for react
- Hookstate - State management library for react
Useful resources
- Deploy NestJS typescript app to Heroku (Solved: 503 Error) - Helped me understand the 503 error I was getting on heroku and solve it.
- Refreshing Server-Side Props - Useful tip on how to refresh server-side props after updating data on the server.
- Persist Formik State on Refresh with React Hooks - Helped me persist the app's form state on refresh.
Author
- Website - Funmilola O.
- Frontend Mentor - @Erinay0
- Twitter - @funmilolajire