Develop a file uploader using state-machines.
Budget: $30 β $250 USD
The uploading process consists of following steps:
1. Get a URL from an API where to upload a file. The response contains a unique id (e.g. UUID) and the destination URL.
2. Upload the file to destination URL.
3. Notify the API about completion.
On every step there may be a failure related to network, API, etc.
Itβs not needed to write backend, so please feel free to use mock functions which behave like a real API.
Requirements:
- It should support multiple uploads.
- It should support retries by user demand.
- It should support cancelation by user demand. After cancelation the requests should be canceled as well.
- It should provide an API to subscribe to the progress on the 2nd step.
- It should be written in TypeScript using state-machines (e.g. xstate).
- Basic UI written with React.
Optional, but would be nice:
- Unit tests
1. Get a URL from an API where to upload a file. The response contains a unique id (e.g. UUID) and the destination URL.
2. Upload the file to destination URL.
3. Notify the API about completion.
On every step there may be a failure related to network, API, etc.
Itβs not needed to write backend, so please feel free to use mock functions which behave like a real API.
Requirements:
- It should support multiple uploads.
- It should support retries by user demand.
- It should support cancelation by user demand. After cancelation the requests should be canceled as well.
- It should provide an API to subscribe to the progress on the 2nd step.
- It should be written in TypeScript using state-machines (e.g. xstate).
- Basic UI written with React.
Optional, but would be nice:
- Unit tests