What are the key milestones you need to achieve in order to complete your project successfully?
Separate out the Sync service from the BroClan software and deploy it
Key Activities: setup new gitHub project, split the sync logic code of BroClan to the new project, deploy on a test environment, test using BroClan and direct calls
Timeline: 2 weeks
<u>Deliverable</u> : A running API service accessible to all and a corresponding GitHub project with its code.
>Implement long polling for developers that do not want to use web sockets
Key Activities: Implement alternative fetch and authentication stream using RestAPI endpoints instead of websockets, test and verify, deploy to production
Timeline: 1 weeks
<u>Deliverable </u>: The existing API service with the added capability of being able to login and fetch using only https requests (no websockets)
>Implement transaction sign-in for HD-Wallets
Key Activities: Setup alternative proses flow where a transaction is signed to authenticate a client, setup an indexer for the backend to find utxos and to submit the signed transactions.
Timeline: 1 week
<u>Deliverable</u>: the ability's to login to the service using a hardware wallet, or a software wallet that does not support message sighing, add multitenancy support to avoid having users pay repeatedly every time they switch devices.
>Create a JavaScript library for the client side integration
Key Activities: Create new github repo, implement all the functionality required to use the API (Submit, authentication, polling, web sockets), create npm package, test with BroClan and manual usage, create Documentation page with full functionality overview.
Timeline: 2 weeks
<u>Deliverable</u>: an npm package that you are able to easily install into your JavaScript project and the corresponding GitHub repository.
>N/A
>When The project is wrapped up the Cardano ecosystem should have a operational API live with a sync service that anyone can connect to.
Additionally you should be able to deploy your own instance easily with instructions on the corresponding GitHub repo, and any developer should be able to easily use the service in their own project with our NPM library.