Giter VIP home page Giter VIP logo

se-financial-reporting's People

Stargazers

 avatar

Watchers

 avatar

se-financial-reporting's Issues

[FE] Application Layout

Description

Polish pages by adding semantics on application layout. Include meta tags and dynamic page naming.

Task

  • Add meta tags
  • Modfiy application layout

[BE] New and Modified Tables

Modified table

  • Add debit and credit grand totals
    image

New tables (1:1 Relationship with TB and FS tables)

image
image

totals_data json structure:

unpack data when querying from TB/FS or Dashboard

{
"Cash" : "[debit: 100, credit: 0]",
"Financial Assets": "[debit: 0, credit: 0]",
...
}

[BE] Adding Financial Statements fix

Description

Encountered issues with adding FS, kindly fix the following issues:

Issues

  1. Selected field does not exist. totals should be template and the seeded template should be adjusted to [fsType]_tb_totals
    image
    image

  2. Type mismatch when adding entry to totals table. The type of fs_id is int while fscID is uuid causing an error when adding.
    image

Change FR, FS, TB fields

  • FR

    • (~) report_type --> interim_period
    • (+) fiscal_year: int = YYYY
    • (+) quarter = ['Q1','Q2','Q3','Q4']
    • (-) start_date
    • (-) end_date
  • FS

    • (~) statement_type = ['SFPO', 'SFPE', 'SCNAE', 'SCF', 'SCBAA'] --> ['SFPO', 'SFPE', 'SCF']
    • (+) statement_name: varchar
    • (+) template_name: varchar
  • TB

    • (~) period --> interim_period
    • (+) tb_type = ['Pre-closing', 'Post-closing']
    • (-) closing

[BE] Login and Auth

Description

For simulation purposes, in this repo, we will add Login and auth. This is so that we can play around w/ differen user views.

Reimplement dashboard

Description

Reimplement dashboard using relevant data from the follow up interview with accounting. Use report data than shortcuts in dashboard.

YAMC 3 (yet another migration change)

  • tb

    • (~) report_name -> tb_name
    • (~) report_status -> tb_status
  • fs -> fs_collection

    • (-) fs_type
    • (-) fs_data
    • (-) template_name
    • (~) statement_id -> collection_id
    • (~) report_name -> collection_name
    • (~) report_status -> collection_status
    • (+) tb_id (foreign from tb)
  • fs (new)

    • (+) fs_id (primary)
    • (+) collection_id (foreign from fs_collection)
    • (+) fs_type (enum)
    • (+) fs_data (longtext json)
    • (+) template_name (enum)
  • report_notes (new)

    • note_id (primary)
    • report_id (foreign from tb->tb_id)
    • content (varchar)
    • author (varchar)

Document module in README for IT team

Description

I think this is a good time to update the README, can you start with documenting the module? Here is a general structure for the documentation, you can improve the general structure as you see fit

# Financial Reporting Module
< Short description >

## Getting started
< talk about cloning the repo, pre-reqs, installing dependencies using composer, etc >

## Setting up
< talk about migration,  the files needed for the exporting feature, env setup, etc >

## Running the module
< how to run the module >

[BE] Financial Reporting Feature

Description

Implement Financial Reporting feature.

Tasks

  • List Financial Reports /financial-reports
  • Preview Financial Reports /financial-reports/{ report_id }
  • Add Financial Report /financial-reports/add
  • Update Financial Report (only fields). Should be available on List and Preview Financial Reports
    Note: you can simply add an update method on Livewire Component
  • Delete Financial Report. Should be available on List and Preview Financial Reports

Additional Notes

Integration with Trial Balance and FS can come later. Let's finish all CRUD functionalities for different features first then integrate them with one another. Let's try to finish this on this sprint.

[BE] Financial Statements Feature

Description

Implement basic crud operations for FS feature.

Tasks

  • List Financial Statements based on report type /financial-statements
  • Support filtering on listing Financial Statements /financial-statements?type={ fs_type }
    Additional context: the reason for this type of URL is because of this dropdown in our sidebar
    image
  • Preview Financial Statement /financial-statements/{ fs_id }
  • Delete Financial Statement
  • Export Financial Statement

YAMC 2 (yet another migration change)

  • fr
    • remove everything
  • fs
    • (+) report_name
    • (+) report_status
    • (+) quarter
    • (+) approved
    • (+) date
    • (+) interim_period
    • (+) notes
    • (+) created_at
    • (+) updated_at
    • (-) report_id
  • tb
    • (+) report_name
    • (+) report_status
    • (+) quarter
    • (+) approved
    • (+) date
    • (+) interim_period
    • (+) notes
    • (+) created_at
    • (+) updated_at
    • (-) report_id
  • rt
    • no changes

[BE] Real-Time updates on Notes

Description

For backend, we can implement websockets/laravel broadcast for real-time updates on the mentioned features.

Specs

  • Threading in the note should update real-time

YAMC (yet another migration change)

  • fr

    • (+) notes: long text null
    • (+) date: date
    • (-) tb_id
  • fs

    • (~) statement_type --> fs_type
    • (+) report_id: from fr
    • (-) statement_name
    • (-) tb_id
    • (-) created_at
  • tb

    • (+) report_id: from fr
    • (-) tb_name
    • (-) created_at
    • (-) date
    • (-) interim_period
    • (-) created_at
  • rt

    • (~) template_name.length = 255 --> 20
  • rearrange migrations

    • rt still first
    • fr now 2nd from 4th
    • tb now 4th from 2nd

Verification and Validation when creating TB and FS

TB Verification (Add TB)

  • Utilize debit_grand_totals and credit_grand_totals to see if the TB is balanced
  • Show warning if unbalanced TB
  • Simulate GL notification if unbalanced

FS Validation

  • Add a constraint for TB search that only approved and balanced TB are eligible as basis

[FE] Viewing approved archived reports on list table

Description

After archiving the report, there should be a way for the user to see archived reports.

Specs

  • Add another filter option in the table [Active | Archived]
  • If the filter option is active, it will show all reports
  • If the filter option is archived, it will show all trashed reports
  • When showing trashed reports, there should be a restore button (?)

Chore/Adapt Module to Production Environment

Description

Adapt the module to production environment.

Specs

  • Use APP_ENV and APP_DEBUG to adapt to production environment
  • Create a route for access denied when unauthorized guests go to the module

Chore/Component Unit Tests

Description

Add unit tests for various Livewire components

Tasks

  • Read Livewire documentation for running unit tests
  • Implement unit tests per feature. TB, FS, and FR unit tests should be on different PRs

TB Preview clean up and report sending to OVPF via email

Description

TB Preview needs clean up and polishing and approved reports can be sent to the email of OVPF.

Specs

  • Upon balancing, remove Rebalance button
  • Show debit and credit grand totals
  • When a report is approved the user should be able to send the report to OVPF via email

Tasks

  • Remove rebalance button when the TB is balanced
  • Add debit_grand_totals and credit_grand_totals to TB preview
  • Add a CTA button to send the report to email
  • Utilize all totals data than manual computation

Chore/Code base clean up

Description

Once we've already implemented everything, I'll remove bits of boilerplate code from the codebase para easier navigation for the integ team.

Standardize variable naming

Description

Napapansin ko we're using too many types of variable naming. May snake and camel case. Let's create a PR once we're done with the major features to refactor variables in snake case.

Let's utilize camel case in this project.

[BE] Implement soft delete/archiving

Description

Add soft delete to TB and FSC models to support archiving

Tasks

  • Remove delete function when report status is "For Approval", "Change Requested", and "Approved"
  • Add archive function on "Approved" reports

[BE] Trial Balance API

Description

Create an API for Trial Balance feature

Tasks

  • GET /api/trial-balances
  • POST /api/trial-balances
  • GET /api/trial-balances/:id
  • PATCH /api/trial-balances/:id
  • DELETE /api/trial-balances/:id

[FE] Previewing archived reports

Description

User should know that the report is archived in preview. I think simply modifying the [report]_name field to (Archived) Report Name on client side is enough.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.