Skip to content
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

Data structure and logic updates #102

Open
wants to merge 90 commits into
base: main
Choose a base branch
from
Open

Data structure and logic updates #102

wants to merge 90 commits into from

Conversation

Argeare5
Copy link
Collaborator

@Argeare5 Argeare5 commented Jan 13, 2025

This PR introduces significant improvements to our project, focusing on the elimination of the auxiliary library and a substantial reduction in RPC requests. Key changes include the integration of tRPC for the server version, a simplified Zustand store, and the removal of outdated caching mechanisms, allowing for the deprecation of related repositories and packages.

Additionally, the project structure has been updated to align with our UI standards, and the IPFS version has been reworked to enhance functionality. Notable performance improvements are evident in page speed metrics, with the new server version achieving higher scores and faster load times compared to the old version. Overall, these updates enhance user experience and developer efficiency.

In details:

  1. Updated project structure (the structure matches all our UI projects).

  2. Integrated tRPC for server version of the app.

  3. Simplified zustand store.

  4. Removed all things related to old caching. ( Once this is merged into production we will be able to deprecate this repo https://github.com/bgd-labs/aave-governance-ui-helpers and package https://www.npmjs.com/package/@bgd-labs/aave-governance-ui-helpers)

  5. Updated IPFS version (now in IPFS version, there is no payloads explorer screen, all things related to creating a proposal (create screen, create overview screen removed from IPFS version), IPFS version now goes to the app directory, and not separately to pages. The IPFS version is separated from the server version using the next config, namely the extension of the page file. (https://github.com/bgd-labs/aave-governance-v3-interface/blob/feat/update/next.config.js , https://nextjs.org/docs/pages/api-reference/config/next-config-js/pageExtensions )

  6. Completely reworked the logic of the payload explorer screens. There is no store at all, data is received from the server directly and data polling is performed using SWR on the client. Integrated parallel and intercepting routes https://nextjs.org/docs/app/building-your-application/routing/parallel-routes, https://nextjs.org/docs/app/building-your-application/routing/intercepting-routes for payload modal.

  7. Removed Bignumber.js.

  8. Integrated @bgd-labs/rpc-env.

  9. Transactions have been slightly reworked, but data updates after transaction still works with RPC for more comfortable UX.

  10. Partially updated and optimized client components.

  11. Added documentation for developers.

Closes #97 Closes #4

Page Speed Analysis

Old Server Version: https://vote.onaave.com/

Metric Score
Mobile 34/100 (Link to Analysis)
Desktop 58/100 (Link to Analysis)
Page Load Time 4.5s
First Contentful Paint 3.1s
First Interactive 6.9s

New Server Version: https://aave-governance-v3-interface-git-feat-update-bgd-labs.vercel.app/

Metric Score
Mobile 67/100 (Link to Analysis)
Desktop 82/100 (Link to Analysis)
Page Load Time 2.3s
First Contentful Paint 1.6s
First Interactive 3.5s

New IPFS Version: https://bafybeidx7h322t2mn3j7xthciumhredtrvrbgd522r7tt3vjmhbefye4ke.ipfs.dweb.link/

Metric Score
Mobile 45/100 (Link to Analysis)
Desktop 59/100 (Link to Analysis)
Page Load Time 5.8s
First Contentful Paint 3.2s
First Interactive 7.1s

Summary of Page Speed Analysis

The new server version (https://aave-governance-v3-interface-git-feat-update-bgd-labs.vercel.app/) shows significant improvements in page speed compared to the old server version (https://vote.onaave.com/). The new server version has a higher score for both mobile and desktop devices, with a faster page load time and faster first contentful paint and first interactive times.

The new IPFS version (https://bafybeidx7h322t2mn3j7xthciumhredtrvrbgd522r7tt3vjmhbefye4ke.ipfs.dweb.link/) has a slower page load time and lower scores compared to the new server version, but still shows some improvements compared to the old server version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Migrate from cache system to indexer API IPFS version pagination and filtering proposals
1 participant