GitCoin Bounty - Ref Status Explorer

Challenge Description

Background Ref Finance is a community driven DeFi project on NEAR Protocol. It has several components, such as an AMM swap called Ref Exchange, a general-purpose farming component called Ref Farming which supports liquidity farming, and other components which are currently under development.

Ref Exchange allows permissionless pool creation, even with the same token pairs. And it manages all pools in one smart contract. All those features give Ref Exchange great flexibility, to provide powerful and user-oriented DeFi products.

Ref Farming is a general-purpose farming product supporting LP token and multiple-token farming which allow receiving rewards of multiple tokens with one single farming token.

For detailed information about Ref Finance, please go to docs: https://docs.ref.finance/

Task Description Create a standalone status explorer for ref-finance, on which users can inspect statistics of each ref-finance component, such as swap and farming.

In REF Explorer , without logging in accounts with NEAR wallet, users can still enter any NEAR Account ID to check public information of that account in REF, such as deposited assets, LP tokens, farming rewards, unclaimed rewards, etc.

Although RPC interface accepts any coding language, NEAR JS API is recommended to use when interacting with on-chain ref-finance contracts.

To improve user experience and reduce overload of rpc nodes, a small backend data service may be required to store static and low frequency data. For example, all pool information lists are big and will cause heavy load to RPC nodes if requested directly from each front page. But with a backend data service and corresponding update process at server side, the performance would be greatly improved.

About the UI, it would be cool if suitable charts could be used to visualize those data . You can use any data visualization libraries you prefer including D3.js, echarts,

Actual project status

The application runs at https://ref.nearchaintools.com and is connected to mainnet data.

Screenshots

Application architecture could be called as API first. There is the backend service, providing REST API endpoints for frontend service. On the backend site there is nestjs framework, postrgres database and prisma ORM and some CRON jobs regularly updated the data. On the frontend site there is React js application with the combination of Reac-Admin user interface and components.

Application is still under development and I have a lot of ideas how to move it futher. I have also started to collect feedback from the community. So I have prepared "Kanban Board" like backlog of issues and known bugs.