Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate tech debt and address proposed best practices #72

Closed
kickloop opened this issue Jan 15, 2024 · 4 comments
Closed

Investigate tech debt and address proposed best practices #72

kickloop opened this issue Jan 15, 2024 · 4 comments
Assignees

Comments

@kickloop
Copy link
Collaborator

kickloop commented Jan 15, 2024

Copied as a backup

+1 for switching to yarn 💪

Regarding tech debt - we had a meeting with frontend guys and they pointed out:

  • I18n integration - to avoid strings that are in many places duplicated (and gradually migrate them to some kind of application content storage).

  • Unification of consts (currently application have checks of types to string eg. https://github.com/IntersectMBO/govtool/blob/f66591ab7156fe80996f5addf2de8356463365f3/src/vva-fe/src/context/wallet.tsx#L337C18-L337C18).

  • Inline styles and duplicate components if there are any (needs investigation).

  • Eslint, tsc, husky to have the unified code style and checks on commit.

  • Wallet refactor - 1.2k of lines seems to be impossible to refactor at once but as it is one of the most crucial parts of the application I think that we should take care of designing the architecture for that module and again - gradually improve that file to increase the readability and maintainability.

  • Also - @JanJaroszczak provided [#81] configure unit tests with vitest #58 with initial unit tests that are also a good starting point for any other unit tests that might be added to github actions.

@kickloop
Copy link
Collaborator Author

@MSzalowski @JanJaroszczak Copying here so that we can address the items and figure out next steps

cc @Ryun1

This was referenced Jan 27, 2024
@placek
Copy link
Contributor

placek commented Feb 12, 2024

From the infrastructure side:

  1. We need to figure out the Nix configuration for all the modules.
    At the current situation we have the Nix configuration properly working for backend, but I'm not sure we have that for frontend. Other modules also requires proper development environment. We are about to incorporate nix flakes solution from @johnalotoski and we need to ensure it's operational.
  2. We need to optimize CI/CD.
    Currently deployment lasts for circa 30min or more because we are building backend application with clean cabal build without caching. We should utilize Nix configuration and some cache to optimize that process to only compile the backend sourcecode instead of building all dependencies each time the deploy is triggered. This is dependent of the previous step and will significantly shorten the build process and testing.
  3. The CI/CD workflows has to be cleaned up and fixed.
    On each PR the pipeline fails, we need to decide what we want to check on each build, in which order, how to optimize that to not slow dow development process, etc.
  4. We probably need pre-commit hooks.
    As a CI pipeline optimization, as well as detecting problems early on, we want to have some pre-commit hooks.

@kickloop
Copy link
Collaborator Author

@placek and cc @MSzalowski You own this! :) Just get it done using the best judgement you have.

@placek
Copy link
Contributor

placek commented Feb 12, 2024

Great, let's convert that into a discussion, so we leave a trace of our decissions on converting those ideas into tickets.

@IntersectMBO IntersectMBO locked and limited conversation to collaborators Feb 14, 2024
@MSzalowski MSzalowski converted this issue into discussion #176 Feb 14, 2024
@l-br1 l-br1 added this to Govtool all Apr 2, 2024

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Projects
Archived in project
Development

No branches or pull requests

3 participants