Hey guys, how it’s going? These days I’ve got quite a lot of work to do, since we’re in the middle of harvest season here in Italy, so I don’t have much time to work on the project.
Unfortunately, today it rains, so I’m home, and I can spend some time on the PC.
Lately I’ve been working a lot on the backend.
The first two things I did are documents and document numbering: I created the model for document rows (DocumentLine), with its engine to calculate totals, including subtotals, discounts and VAT. I also added unit tests for the calculator.
I also implemented automatic document numbering, so documents like quotes, invoices and tickets are automatically assigned a number when they’re created.
Then I worked on quote revisions, with a new QuoteRevisionService to keep track of different versions of the same quote.
Another thing I started working on is document conversion. The idea is to be able to convert a quote into an invoice, but this part is still a work in progress.
I also spent quite a bit of time on reports and dashboards:
- added the
Reportmodel and theReportEngine/ ’ReportService` - added default reports through a
ReportSeeder - created the
Dashboardmodel, with tabs and widgets - added the related controllers, services and repositories
On the frontend side I’ve scaffolded the pieces for dashboards and widgets — the widgets/ and dashboard-tabs/ components exist and the dashboard and report services are written — but the components themselves are still empty shells. The data layer is ready, the screens aren’t written yet. That’s what I’ll pick up next.
Another big thing I worked on is tags and data quality.
I added the tag model and APIs, together with the services and repositories. I also started working on a duplicate finder and record merging system, so duplicate contacts/companies can be detected and merged instead of leaving messy data around.
For PostgreSQL, I also enabled pg_trgm to improve fuzzy searches for duplicate detection.
Finally, I added user preferences for number and date formats, including a live preview so users can immediately see how their chosen formats will look in the app.
I’ve also added icons for the new modules.
As you can probably tell, this was a very backend-heavy cycle. Almost everything I built this time: document lines, numbering, quote revisions, reports, dashboards, tags and duplicate detection lives in the models and the services, and the UI for most of it isn’t there yet. So this time there isn’t much to show in screenshots: the engine is in place, the screens come next. I’d rather get the model right first and build the interface on top of something solid than the other way around.
Hopefully I’ll be able to find some more time to work on it after harvest, so see you in a while.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.