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

Version 1 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 any data available in the current finances page

Dashboard Views

  • This rework is considerable but should happen entirely on the frontend (no full-stack tickets)

  • We are still waiting for some designs to be confirmed as final, so we will work on conservative parts of the design this sprint

 

M: must have N: nice to have

tasks

 

1

2

3

4

5

6

7

 

8

 

9

 

10

 

 

 


 

Questions & Answers

  • No labels