AFK-AlignedFamKernel / afk_monorepo

AFK: Aligned Fam Kernel - Monorepo
https://portal.afk-community.xyz
MIT License
9 stars 20 forks source link

Indexer Apibara of Launchpad #40

Closed MSghais closed 2 weeks ago

MSghais commented 3 weeks ago

Fix indexer in the apps/indexer. Improve backend routes in the apps/data-backend. Needed for #44

EjembiEmmanuel commented 3 weeks ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

@MSghais I'd love to work on this. I'm a backend developer and I've experience working with Apibara.

ETA: 4 days

Here is the link to a project I worked on recently using Apibara

https://github.com/EjembiEmmanuel/horuslabs_nodejs_assessment

How I plan on tackling this issue

I'd start by:

And if the postgres database and contract events needs to be modified to suit the changes, I'll modify them

onlydustapp[bot] commented 3 weeks ago

Hey @EjembiEmmanuel! Thanks for showing interest. We've created an application for you to contribute to AFK - Aligned Fam Kernel. Go check it out on OnlyDust!

Ugo-X commented 3 weeks ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I am a Full Stack blockchain Developer with expertise in Next.js, Nest.js, TypeScript, JavaScript, React, Node.js, Three.js, and Solidity. My journey with OnlyDust hackathons began at Edition 1, and I've since made 47 contributions across 11 projects. With my extensive experience on the OnlyDust platform (profile: https://app.onlydust.com/u/Ugo-X), I've honed my skills in delivering quality solutions under pressure. I bring a unique blend of technical proficiency and user-focused design to every project, whether it's crafting immersive 3D experiences or developing smart contracts. My track record shows I can adapt quickly and contribute effectively to diverse challenges. As we surf through Edition 7, I'm excited to leverage my skills and hackathon experience to push the boundaries of blockchain development. I'm confident in my ability to tackle new challenges and drive innovation in this space.

How I plan on tackling this issue

Understood, I will approach this issue in the following steps:

  1. Analyze the Current Indexer Implementation:

    • Examine the existing code in the apps/indexer directory to understand the current implementation.
    • Identify any issues or areas for improvement in the indexer functionality.
    • Review the integration between the indexer and the backend routes in the apps/data-backend directory.
  2. Test All Events with the Apibara Indexer:

    • Set up a comprehensive test suite to verify the indexer's handling of all relevant events.
    • Use the Apibara indexer to index the events and ensure the data is being correctly processed and stored.
    • Identify any issues or edge cases in the event handling and indexing process.
  3. Modify the Postgres Initialization (if needed):

    • Assess the current Postgres setup and schema used by the indexer and backend.
    • Determine if any changes or modifications are required to the Postgres initialization process to accommodate the indexer's needs.
    • Implement the necessary changes to the Postgres setup, ensuring a smooth integration with the indexer and backend.
  4. Update the Events of the Launchpad Contracts (if needed):

    • Review the event definitions and handling in the Launchpad contracts.
    • Identify any changes or improvements that may be required to the contract events to better support the indexer's functionality.
    • Implement the necessary modifications to the contract events, ensuring backward compatibility and smooth transition.
  5. Fix the Routes in the Data Backend:

    • Examine the existing routes in the apps/data-backend directory, focusing on their integration with the indexer.
    • Identify any issues or areas for improvement in the backend routes, such as performance, error handling, or data consistency.
    • Refactor and fix the problematic routes to ensure seamless integration between the indexer and the backend.
  6. Testing and Validation:

    • Implement comprehensive unit tests to verify the correct behavior of the indexer and the backend routes.
    • Perform end-to-end testing to ensure the indexer and backend work together as expected, handling events and serving data correctly.
    • Validate the overall system's functionality, performance, and reliability under various scenarios.
  7. Documentation and Knowledge Sharing:

    • Document the changes made to the indexer and backend, including any modifications to the Postgres setup or contract events.
    • Provide clear instructions on how to set up, configure, and maintain the updated indexer and backend components.
    • Share the knowledge and insights gained during the development process with the wider team to facilitate future maintenance and improvements.

By following this approach, I will thoroughly address the issues in the indexer and backend, ensuring the reliable and efficient processing of events and the seamless integration between the different components of the system. The focus will be on improving the overall stability, performance, and maintainability of the indexer and backend components.

i can deliver this within 4 days.

fishonamos commented 3 weeks ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I have worked on something similar recently.

How I plan on tackling this issue

I will fix indexer indexer and optimize the backend routes. Next, I will test the events with the Apibara test framework

Ref: https://github.com/fishonamos/strkindex/tree/apiv2

MSghais commented 3 weeks ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I have worked on something similar recently.

How I plan on tackling this issue

I will fix indexer indexer and optimize the backend routes. Next, I will test the events with the Apibara test framework

Ref: https://github.com/fishonamos/strkindex/tree/apiv2

Gm! Do you have an ETA please?

The indexer is the main part please, doing other issue for the backend

MSghais commented 3 weeks ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I am a Full Stack blockchain Developer with expertise in Next.js, Nest.js, TypeScript, JavaScript, React, Node.js, Three.js, and Solidity. My journey with OnlyDust hackathons began at Edition 1, and I've since made 47 contributions across 11 projects. With my extensive experience on the OnlyDust platform (profile: https://app.onlydust.com/u/Ugo-X), I've honed my skills in delivering quality solutions under pressure. I bring a unique blend of technical proficiency and user-focused design to every project, whether it's crafting immersive 3D experiences or developing smart contracts. My track record shows I can adapt quickly and contribute effectively to diverse challenges. As we surf through Edition 7, I'm excited to leverage my skills and hackathon experience to push the boundaries of blockchain development. I'm confident in my ability to tackle new challenges and drive innovation in this space.

How I plan on tackling this issue

Understood, I will approach this issue in the following steps:

1. **Analyze the Current Indexer Implementation**:

   * Examine the existing code in the `apps/indexer` directory to understand the current implementation.
   * Identify any issues or areas for improvement in the indexer functionality.
   * Review the integration between the indexer and the backend routes in the `apps/data-backend` directory.

2. **Test All Events with the Apibara Indexer**:

   * Set up a comprehensive test suite to verify the indexer's handling of all relevant events.
   * Use the Apibara indexer to index the events and ensure the data is being correctly processed and stored.
   * Identify any issues or edge cases in the event handling and indexing process.

3. **Modify the Postgres Initialization (if needed)**:

   * Assess the current Postgres setup and schema used by the indexer and backend.
   * Determine if any changes or modifications are required to the Postgres initialization process to accommodate the indexer's needs.
   * Implement the necessary changes to the Postgres setup, ensuring a smooth integration with the indexer and backend.

4. **Update the Events of the Launchpad Contracts (if needed)**:

   * Review the event definitions and handling in the Launchpad contracts.
   * Identify any changes or improvements that may be required to the contract events to better support the indexer's functionality.
   * Implement the necessary modifications to the contract events, ensuring backward compatibility and smooth transition.

5. **Fix the Routes in the Data Backend**:

   * Examine the existing routes in the `apps/data-backend` directory, focusing on their integration with the indexer.
   * Identify any issues or areas for improvement in the backend routes, such as performance, error handling, or data consistency.
   * Refactor and fix the problematic routes to ensure seamless integration between the indexer and the backend.

6. **Testing and Validation**:

   * Implement comprehensive unit tests to verify the correct behavior of the indexer and the backend routes.
   * Perform end-to-end testing to ensure the indexer and backend work together as expected, handling events and serving data correctly.
   * Validate the overall system's functionality, performance, and reliability under various scenarios.

7. **Documentation and Knowledge Sharing**:

   * Document the changes made to the indexer and backend, including any modifications to the Postgres setup or contract events.
   * Provide clear instructions on how to set up, configure, and maintain the updated indexer and backend components.
   * Share the knowledge and insights gained during the development process with the wider team to facilitate future maintenance and improvements.

By following this approach, I will thoroughly address the issues in the indexer and backend, ensuring the reliable and efficient processing of events and the seamless integration between the different components of the system. The focus will be on improving the overall stability, performance, and maintainability of the indexer and backend components.

Do you have an ETA please?

fishonamos commented 3 weeks ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I have worked on something similar recently.

How I plan on tackling this issue

I will fix indexer indexer and optimize the backend routes. Next, I will test the events with the Apibara test framework Ref: https://github.com/fishonamos/strkindex/tree/apiv2

Gm! Do you have an ETA please?

The indexer is the main part please, doing other issue for the backend

Gm boss. ETA: Maximum: 1 - 2 days from now. Ready tommorow EOD.

fishonamos commented 3 weeks ago

Is it a blocking issue? @MSghais

MSghais commented 3 weeks ago

Is it a blocking issue? @MSghais

No, let's discuss it please! Can you ping me also on Telegram: MSG_Encrypted. Also please join the AFK group

fishonamos commented 3 weeks ago

Is it a blocking issue? @MSghais

No, let's discuss it please! Can you ping me also on Telegram: MSG_Encrypted. Also please join the AFK group

Ok. Replied you on TG: FishonAmos

onlydustapp[bot] commented 3 weeks ago

The maintainer MSghais has assigned fishonamos to this issue via OnlyDust Platform. Good luck!