Skip to content

v2.0.0 - Major Overhaul

Compare
Choose a tag to compare
@rrios4 rrios4 released this 16 Mar 15:01
· 104 commits to main since this release

Introducing v2.0 Release for the Roofing Webapp 🎉

After using the initial release of the web application locally for 1 year I ran into limitations, features that would be nice to have, and lack of reporting of the data and many more other limitations. I went back to the drawing board to improve the app across the board and add brand new features that would enhance/streamline the management of data for a small roofing company.

Here is a list of some major changes to the project:

  • Upgrade to project from React.js v17 to v18.2 and all dependency along with it.
  • Migrated from CRA to Vite
  • Deprecated the use of mySQL database and Node.js server for Supabase.js
  • Implemented new auth system using Supabase with Google Sign-in
  • Redesign for Invoice, Quotes, Customers, Invoice Details, Quote Details, and Customer Details pages.
  • Redesigned navbar that is not fully responsive
  • New responsive pages across multiple devices now
  • New customer details page can now display invoices/quotes that belong to a customer.
  • New Quote Request page to capture customer request for a quote for a service we offer from website
    • Button to quickly save requestor as a customer with email validation
    • Ability to create, update, and delete a request
  • New Dashboard page to report
    • Total New Quote Request
    • Total Overdue Invoices
    • Total Pending Quotes
    • Total Customers registered
    • Total Monthly Revenue with percent change by compared to the previous month
    • Total Revenue for the year with percent change compared to the previous year
    • Line graph of month by month revenue with dataset of 3 years prior of revenue generated
    • Recent activity for quote request, quotes, invoices, and customers
  • New feedback toasts for user interaction with the UI such as creating, deleting, and updating data with success/error
  • New multiple line-item support for quote/invoice
  • New revamped forms that are dynamic settings for creating a invoice, or quote
  • New delete dialog alert with abstraction for connected handle submits to work for invoices, customers, quotes, and QR all using one alert component.
  • New PDF export support for invoice or quote
    • Preview Invoices in modal
    • Download button to save invoice with "RRINV-00" and quote with "RRQ-00" naming convention.
  • New payment tracking for a invoice to accurately track revenues when company receives money
  • New quick action bar to update data quickly for invoice/quote data
    • Quickly update invoice/quote status with dropdown menu
    • Add Payment to invoice
    • Add line-item to invoice/quote
  • Replaced use of ChakraUI icons to react-icons
  • Formatted main components of code using prettier with eslint standards
  • New automatic calculation for total, subtotal, payments, and line-items for invoices that have an amount due using SQL triggers when changes are detected
  • New customer note meant to be seen by the customer regarding details of the work that they should be aware of
  • New measurement/general note meant to be seen only internally for quote/invoice.
  • New ability to add custom address if the customer wants us to do another job for them but its not on their primary address we have stored for them
  • Dark mode still working as intended with new changes
  • Major refactor to codebase using SOLID Principles for React.js deleting a lot of code, restructuring components, adding logic abstraction when reusing the same component, refactoring code, and much more...
  • New custom react hooks to make it easier to maintain project for the future changes for fetching data from the database and staging for the implementation of react-hooks
  • New company website integration that can be used to expand features later down the road as the business grows.
  • Updated dockerfile to work with the new techstack to get it deployed faster
  • Updated Readme.md

Full Changelog: v1.0.0...v2.0.0

I have been working these past 3 months to get this release ready and always ended up adding more and more to the features. I needed to add a stop somewhere and found that his is a good stopping point until the next release. Already 📝 planning for a v2.1.0 release but will make sure prioritize and only add what is outline. As always the project is open source and free to be used by anyone. If you want to help expand this project you can always reach out and I can move my planned roadmap of version into Github. As always thank you and I will keep working to better my skills and help those around me. 🥳🙏