Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Reference Documents

Scope

  • This sprint will primarily be concerned with wrapping up custom revenue and custom expenses

  • We also want to prepare for these new requirements + user stories which remain in Finances 2.0 and will the the focus of our next sprint.

    • Generate income statement: “As a farmer I want to be able to generate an income statement so that I can understand if my farm has been profitable over a set timeframe”. Should include revenues, expenses, and gross profit (Priority: Highest)

    • Finances dashboard: “As a farmer I want to be able to understand my financial position at a glance when landing on the finances page so that I can quickly understand the financial footing of my operation” (Priority Medium)

Technical Notes

Generate income statement

  • I suggest we use the package ExcelJS (https://github.com/exceljs/exceljs) to generate our xlxs document. It is a popular packages with close to 1 million weekly downloads (npm), has a readable API and the generated spreadsheet is fully styleable

    • The most popular alternative, SheetJS, has recently moved off of GitHub,

  • It is a large package, 1.1MB minified and 259.1kB minified and gzipped according to Bundlephobia

  • As a point of comparison, a single sheet xlsx file as we generate in certification export is 8-9kB. This suggests we should be creating the xlsx file on the server and sending via API to the frontend. However there are some other considerations we can keep in mind.

    • We don’t yet know the specifications of the file we will be generating (e.g. I believe they will be more highly styled than the certification documents) and they may end up larger

    • The client can cache the library code, making the difference in data sent to the client less noticeable as more documents are exported

    • This might be worth testing on different devices in terms of responsiveness

  • We don’t yet have the exact specification for this document (data content or visuals), but we can set up the framework (saga → controller → document generation → download) now with some data available on the current finance homepage

Dashboard Views

  • Although this rework is visually substantial, for the most part all of the data is already present within the existing summary views

  • We are still waiting for some designs to be confirmed as final, so we will work on the most conservative

Note on the Figma Mockup: we are using the second panel of “Finances homescreen” as our current guide for the main dashboard, with the addition of the date filtering from the third panel

 

tasks

 notes

1

Preliminary Dashboard Task

Convert the following class-based components into functional components:

  • <Finances /> container

  • <OtherExpenses /> container

  • <DateRangeSelector /> component

2

Create reusable summary tile component

3

Create swipeable summary icon tiles component

4

Create/update existing transactions list <Table /> component to new style

5

Update <Finances /> container

Blocked by 1-4

6

7

 

8

 

9

 

10

 

 

 


 

Questions & Answers

  • What’s the relationship between the old Labour view and the new Labour expense tile? Is there a migration covering this? For now is the old Labour summary view removed?

  • Is estimated revenue removed?

  • Does document export need to be recorded somewhere (e.g. in the database)?

  • No labels