Ton Drive is an intuitive and responsive interface designed for Telegram Web Apps. It allows seamless uploading, viewing, and managing of large files, bypassing Telegram's 2GB file limit. Users experience smooth interactions while the backend handles robust file processing and storage.
Description: Create a straightforward and intuitive file upload interface using React for users to add their files to the TON Drive. This should include options to select, drag-and-drop files, and monitor upload progress.
Additional Notes:
The interface should provide feedback on successful uploads and errors.
Consider using React libraries for drag-and-drop functionality.
Features like batch upload or pausing/resuming uploads would enhance user experience.
Description: Set up and deploy the TON Storage Daemon on our cluster to ensure the TON Drive application can interact seamlessly with TON Storage. This is a crucial step for facilitating large file storage and transfer capabilities.
Additional Notes:
Document the deployment process, configurations, and any challenges faced in a deployment.md file within the project repository.
Test connectivity from the TON Drive application to the daemon once deployed, ensuring smooth integration.
It is planned to run frontend as Telegram Web App. Major browser surely work under the hood of telegram (JavaScript, HTML, CSS). However, there is a set of specific, that are potentially helpful for this project. And these features are not supported everywhere.
It is required to develop a page which indicates if following features are available or not in the current environment (with details if possible):
Now, development of backend part is not a trivial task, because developer should also install and run storage-daemon. Also, paths to binaries are different for every machine.
Another one problem is backend deployment to the production. It is quite time-consuming to configure the environment on each machine (in the case of migration).
That't it will be really useful to have Docker container with environment preconfigured.
Description: Implement a clear and user-friendly interface in React to display a list of uploaded files within the TON Drive application. Users should be able to easily navigate, search, and manage their files.
Additional Notes:
Incorporate features like sorting (by name, date, size) and searching for efficient file management.
Ensure compatibility with various file types, showcasing appropriate icons or previews.
Leverage popular React libraries and components for enhanced UX and performance.
Implement stub, which simulates fetching data from the data source.
Description: Define and structure the architecture for the TON Drive application. The architecture should ensure scalability, security, and efficient interaction between frontend and backend components.
Additional Notes:
Ensure that the architecture accommodates TON Storage integration seamlessly.
Document the chosen architecture in an architecture.md file within the project repository. Use diagrams and descriptions to aid other contributors in understanding the system layout. Include links to external tools like draw.io where relevant diagrams are hosted.