Skip to content

Ugo-X/starkfarm-client

 
 

Repository files navigation

STRKFarm

STRKFarm is a platform that allows users to better navigate DeFi on Starknet. It has the following features:

  1. Show top yield generating pools sorted by Protocols and various Categories. 10+ Protocols are integrated. ✅
  2. Customized strategies, providing one-click investment with automated risk-management ✅ (Adding more)
  3. Concentrated Liquidity Impermanent calculator 🚧
  4. One click $STRK claim for DeFi spring users 🚧

Project structure

The project is build using NextJS and Typescript. Below is the broad project structure:

  1. Re-usable project wide components go into src/components. Page specific components go into their respective folder. (e.g. src/app/claims/components)
  2. We use Jotai for state management. Atoms are written in src/store. E.g. src/store/strategies.atoms.ts. Most re-usable data is written into atoms, outside components so that data is eaily accessible across components without dumping custom logic into components. Its suggested to keep view components low on business logic code.
  3. All protocols have a class object (e.g. src/store/ekubo.store.ts). Where protocol specific custom logic is written, so that its get written to respective Atoms.
  4. You can use src/store/IDapp.store.ts to define abstract class or type definitions that can be used within protocol class objects.
  5. Custom re-usable hooks are written to src/hooks.

How to get started

Pull Requests welcome Requirements:

  1. Node 20+

Clone the repository

git clone https://github.com/strkfarm/starkfarm-client.git

Configure the environment. Ensure env file has necessary settings.

cp .env.sample .env.local

Install dependencies and run the development build

yarn
yarn run dev

You should see something like this:

> [email protected] dev
> next dev

   ▲ Next.js 14.1.0
   - Local:        http://localhost:3000
   - Environments: .env

 ✓ Ready in 1431ms

🤝 Contribute

We're always looking for for stallions with great NextJS & Typescript skills to further this tool, to join our community and contribute to STRKFarm. Check out our contributing guide for more information on how to get started.

To connect with us regarding any queries about contributing to the repo, feel free to join our telegram group here. Head to dev topic.

References

Contributors ✨

Thanks goes to these wonderful people.

<<<<<<< HEAD

Akira
Akira

🤔 💻 🚇
Hemant
Hemant

🚇
Wolf
Wolf

🚇
Jed
Jed

💻
Emmaunuel Ejembi
Emmaunuel Ejembi

💻 📖
Catherine Jonathan
Catherine Jonathan

💻
Neelkanth Tandel
Neelkanth Tandel

👀
Ugonna Paul Dike
Ugonna Paul Dike

💻
Fishon Amos
Fishon Amos

💻
Benedict Ejembi
Benedict Ejembi

🚇
Jemiiah
Jemiiah

💻
Isaac Onyemaechi Ugwu
Isaac Onyemaechi Ugwu

💻

=======

Akira
Akira

🤔 💻 🚇
Hemant
Hemant

🚇
Wolf
Wolf

🚇
Jed
Jed

💻
Emmaunuel Ejembi
Emmaunuel Ejembi

💻 📖
Catherine Jonathan
Catherine Jonathan

💻
Neelkanth Tandel
Neelkanth Tandel

👀
Ugonna Paul Dike
Ugonna Paul Dike

💻
Fishon Amos
Fishon Amos

💻
Benedict Ejembi
Benedict Ejembi

🚇
Jemiiah
Jemiiah

💻

2619149 (add pool click event)

All Contributors

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 83.2%
  • Jupyter Notebook 15.0%
  • Other 1.8%