Finances V2.0 - Sprint 2 - Technical Document

Table of Contents

⌙> Scope

⌙> Tasks

⌙> Visuals

⌙> Q&A

Scope

Previous related sprint technical document -
Parent Product Scope:

  • manage custom revenue types - Also crop generated revenues

  • updated create expense flow (select expense type(last sprint), updated expense form)

  • updated create revenue flow (select revenue type, add custom revenue form )

  • (nice) Custom revenue spotlight

Strategy - edges inward

Deal with migrations and components first to clarify missing features.

Write state editors for frontend backend as soon as possible (ASAP).

Add container views last as the “middle” piece connecting frontend state to backend state.

Nice-to-haves - on the fly if easy or last.

Tasks


Migrations

making table revenue_type
updating sale to add revenue_type_id, and total_value columns
add role permissions for add/delete/get/edit:revenue_types, and their associated permissions
(nice) update sale name to revenues and update references
(nice) Add Spotlight booleans
Crop generated revenues boolean to revenue type

Endpoints/controllers

endpoints and controllers to retire or add custom revenue types
endpoints and controllers to get custom revenue types

Sagas

sagas to retire, add, edit custom revenue types
editing existing sagas to accommodate task types

State Management

new slice for revenue_type table
selectors for default revenue types, custom revenue types, retired custom revenue types
reducers to handle retiring and addition of custom revenue type state change
updates to existing sale state to handle new columns for existing sale table

Components

  •  

Containers/Frontend Routes

Update add expense form container
Create add custom revenue form container
Crop generated revenues - Add custom revenue type radio
Add Revenue Type Selection container and Route
Add custom revenue type creation, edit, readonly
Update Revenue Type selection to include custom revenue types and manage button
Crop generated revenues - Custom revenue form container and route
(nice) Spotlight for custom revenue types

 

 #

Priority

M: must have N: nice to have

tasks

 blockers

 #

Priority

M: must have N: nice to have

tasks

 blockers

0

0

Previous Sprint

Reusable Components

 

1

1

M: Update add revenue flow

M: Manage custom revenue types

Combined migrations for all sprint features.

Update db schema to allow for revenue types


https://lite-farm.atlassian.net/browse/LF-3581

 

2

2

M: Update add revenue flow

Get revenue types endpoint

https://lite-farm.atlassian.net/browse/LF-3591

1

3

3

M: Manage custom revenue types

Create APIs for custom revenue type endpoint to get, create, edit, retire revenue type.

https://lite-farm.atlassian.net/browse/LF-3584

2

4

2

M: Update add revenue flow

State + sagas

https://lite-farm.atlassian.net/browse/LF-3586

 

5

4

M: Update add expense flow

Re-style add expense form

https://lite-farm.atlassian.net/browse/LF-3582

0

6

4

M: Update add revenue flow

Revenue type selection view (default)

https://lite-farm.atlassian.net/browse/LF-3583

0

7

5

M: Manage custom revenue types

Custom tile view

(and adding to revenue type selection tiles and manage button?)

https://lite-farm.atlassian.net/browse/LF-3585

3,4

8

5

M: Manage custom revenue types

Implement custom revenue types using reusable components (from custom expense) for Add, Read-only, Retire, Edit and Customisable Icon

(And State + sagas required to implement?)

https://lite-farm.atlassian.net/browse/LF-3588
https://lite-farm.atlassian.net/browse/LF-3589 (read-only + retire)
https://lite-farm.atlassian.net/browse/LF-3590

3,4

9

6

M: Update add revenue flow

Add custom revenue form

https://lite-farm.atlassian.net/browse/LF-3592

7,8

10

6

M: Add option on create custom revenues to select if it is a crop generated revenue
Add crop generated revenue custom type

https://lite-farm.atlassian.net/browse/LF-3595

8

11

6

M: Dashboard implications for new types
Verify Dashboard selects new custom types.

https://lite-farm.atlassian.net/browse/LF-3599

 

12

7

N: Spotlight for managing revenue types on updated multi-select expense type view. (Is this needed?)

https://lite-farm.atlassian.net/browse/LF-3594

9

13

-

N: Update table names

Moving to concept of revenues vs sales

https://lite-farm.atlassian.net/browse/LF-3596

 

Visuals

*Note: these visuals are not kept up to date see resource links below for more up to date info.

Finances 2.0 UX: https://lite-farm.atlassian.net/browse/LUX-82

Figma (Finances Sketch): https://www.figma.com/file/96NZ02oYe3jpet1roUp0s0/Mockups?type=design&node-id=1712-37203&mode=design

Custom revenue type

Current - None (new feature)
Updated: https://lite-farm.atlassian.net/browse/LUX-77

Add expense flow

Current:

 

Updated: https://lite-farm.atlassian.net/browse/LUX-74

Add revenue flow

Current:

 

Updated: https://lite-farm.atlassian.net/browse/LUX-75 (Screen 1 existing, screen 2 new, screen 3 crop generated revenue custom type)

 

Spotlight custom revenues: MISSING see expense for inspiration

Questions & Answers

  1. Are there any placeholders tickets for Readonly expense detail view(from dashboard) update, edit expense update, and dashboard update?

  2. Unique challenges

    1. adding value to “sale” table https://lite-farm.atlassian.net/browse/LF-3581

    2. , and “notes”? - https://lite-farm.atlassian.net/browse/LF-3581

    3. Reusing add expense form may not be practical because of customer name

  3. Is a spotlight need for both custom revenues types and custom expenses types?

    1. Yes, as per David - the more spotlights the better. It was proposed to end both revenues and expenses spotlight if either was “seen” but the decision is to have many spotlights.

  4. For revenue types specifically - duplicate old patterns or implement new pattern?

    1. try new pattern first?