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.
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)
- Solution URL: GitHub Repository
- Live Site URL: Invoice App | Home
- 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
- 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.
- Website - Funmilola O.
- Frontend Mentor - @Erinay0
- Twitter - @funmilolajire