Git Product home page Git Product logo

marketplace-frontend's People

Contributors

abdelstark avatar alexbeno avatar alexbensimon avatar anthonybuisset avatar bernardstanislas avatar haydencleary avatar kaelsky avatar neoxazrot avatar ofux avatar oscarwroche avatar pierreoucif avatar pixelfact avatar tdelabro avatar tekkac avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

marketplace-frontend's Issues

fetch pr since last indexed time

when fetching PR from github repository we should filter on PR that have actually changed since last time the repository was indexed

Infra As Code setup

Description

The service requires some external components such as a database. We need to setup the Infra As Code resources and scripts.

Store last check state after analysis

Description

Once we have completed a check and successfully invoked the smart contract, we need to update the database so that the next analysis starts from the correct checkpoint.

wait for transaction acceptation before sending a new one

The nonce is not stored inside the starknet library nor inside the BE.
So, when sending 2 transactions at the same time (before the first one is accepted), they are noth sent with the same nonce.
The second transaction is always rejected.

3 options:

  1. cache the nonce before the first call and increase it for each transaction
  2. wait for each transaction to be accepted on L2 before sending the next one.

With option 1, if a transaction ever fails, it will make all subsequent transactions fail as well.

Option 2 will be implemented.
For performance reasins we will have to bulk the transactions.

consolidate errors in Logger API

Today, when dealing with multiple items to log, the logger will fail as soon as 1 item fails.
This is not convenient as we might want to upload a batch of PR and some will revert, some will succeed.
We should consolidate the errors instead of stopping at first failure.

use iterator trait for in fetcher api

In order to interact easily with multiple results from Fetcher API, we should use the Iterator trait.
This would allow to fetch data from github as the iterator moves instead of all at once.

Add the possibility to modify a contribution gate

The API should expose a new route PATCH /contributions/{id} which only accepts a body with the gate property.

This route should be protected by the API key.

This route should call an UpdateContributionGate usecase in the application layer, which will call the ContributionService to update the contribution gate. There should thus be a new method in this service.

This method, when implemented by the starknet client, should call the smart contract method, then update the database using the ContributionRepository.

Prerequisite: onlydustxyz/marketplace-starknet#68

rename modules to follow ubiquitous language

contributor = author of a github PR
contribution = pull request
project = github repository
project_repository = github (offchain) / smart contract (on chain)
contribution_repository = github (offchain) / smart contract (on chain)
state = database

Invoke Death Note contribution contract to store a new contribution

Description

Once we detected new contribution from a contributor, we need to invoke Death Note contribution contract to store the new contribution.

Acceptance Criteria

  • Death Note contribution contract is invoked
  • Error handling of smart contract errors is correctly done

use references when possible

in order to improve performances and avoid cloning String everywhere, we should use references whenever possible.

Find a way to always apply the aggregate events

When called on a business method, the aggregate returns some events, but nothing ensures the events are applied.
This is a problem since we don't want the user of an aggregate to be responsible for keeping the current aggregate state up to date with the called methods.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.