Standard Grant: DartSia Mobile App

Standard Grant
Introduction

Project Name: DartSia Mobile App

Name of the organization or individual submitting the proposal:

  • James Brel tamegno
  • Egoume Mouyong Rekiyatou

Project Description :

Dartsia is a mobile application which aims to allow users of the sia ecosystem to access a Renterd node and be able to interact with it. The Sia application platform is full of a wide range of software to enable the storage and sharing of data and among these software, renterd is the most efficient. Renterd allows users to store data on the Sia network and also to be able to interact securely with the network, but the problem that arises in turn comes from the fact that users of mobile devices do not have the possibility of access the network from their phone. It is for this reason that we considered creating an application that would allow easy access to a renterd node (even for novice users) while ensuring the security of their data.

The initial idea of the project was to develop a dart package coupled with middleware which would facilitate the development of mobile applications on the Sia platform but after discussion with the Sia foundation team, we focused on the development of the mobile application by giving it the same name again. During the first phase of development, we realized the difficulty represented by communication between the renterd software and the mobile application. As a result, it was necessary for us to develop, in addition to the mobile application, a Go middleware functioning as a request handler to intercept, secure and redirect requests to the Renterd API.

For us, during this grant, it will be a matter of developing both an intuitive and easy mobile application for ordinary users and a middleware that will manage and secure all the requests for our application.

Who benefit from your project :

The project mainly benefits all users of the Sia network. It gives them the ability to control their renterd nodes, have data on the state of the sia network and also on the operation of other nodes in the network.

How does the project serve the Foundation’s mission of user-owned data?

The project allows the Sia Foundation to strengthen its capacity to develop decentralized applications for users of mobile devices. It thus gives the foundation a fantastic opportunity to extend its user data management functionalities.

Grant Specifics

Features to be delivered :

  • Login : Be able to connect to a rented host using its IPv4 or DNS address and password.
  • Network Overview : This functionality allows you to display real-time data on the state of the Sia network as well as its interactions (Numbers of active hosts, Total Network storage, Total used storage, Storage Price per TB)
  • Host Research : This functionality allows you to list all the hosts available and active on the network.
  • Show Host informations : This feature allows you to display all of the host’s information as well and its scoring.
  • Active Hosts Notifications : This feature allows you to receive notifications about changes in the status of a host.
  • File sharing : This feature allows you to share a file with an access link.
  • My Host Overview : Allows you to display the operating information of your host and see its operating status
  • Modify Host Parameters : This feature allows you to easily modify your host’s configuration settings.
  • Buckets and file management : This functionality gives the possibility of managing Buckets on your renterd host as well as all files and folders (Creation of folders, Uploading of files, Renaming of files, Deleting files and moving files).

Demonstration :

You can check a video demonstration of the mobi application here:

A functionnal APK is also available here :

https://drive.google.com/drive/folders/1yu4TkD0hTniCsSLkCbCoMpgJSgl31AE4?usp=sharing

You can also check some of the screen of the application here :

Timeline

Our project will be divided into 3 milestone with precise objectives to bring it to end.

Milestone 1 : (4 Weeks)

  • Redefine the DartSia Mobile App Architecture with the new feature
  • Review the login functionnality
  • Review and optimise the network overview functionnality
  • Review and optimise the active host informations functionnality
  • Review and optimise the Host research functionnality
  • Review and optimise the My Host Overview functionnality
  • Review and optimise Modify Host Parameters Functionnality
  • Send the sia Grant Report

Milestone 2 : (4 Weeks)

  • Create the Buckets and file management Functionnality
  • Create Buckets and file management Interface
  • Integrate test and Deploy the New Features
  • Send the sia Grant Report

Milestone 3 : (4 Weeks)

  • Create and add the file Sharing functionnality
  • Create the on app Host notifications system
  • Integrate test and Deploy the New Features
  • Publish the app on google play store and ApplePlay

Budget :

To be able to carry out this project, we are requesting a total budget of $25050. As indicated in the terms of the Sia Foundation, the budget will be used monthly and at each Milestone. The use of this budget will be made according to the following points:

Milestone 1: Budget $8350

Flutter Developer Salary $4000
Go Lang Developer Salary $4000
Cloud hosting service $250
Additional charges (Electricity/Internet) $100

Milestone 2: Budget $8350
Flutter Developer Salary $4000
Go Lang Developer Salary $4000
Cloud hosting service $250
Additional Charges (Electricity/Internet) $100

Milestone 3: Budget $8350
Flutter Developer Salary $4000
Go Lang Developer Salary $4000
Cloud hosting service $250
Additional Charges (Electricity/Internet) $100

Potentials risk to the project :

The potential risks that can affect the completion of our project can be numerous and varied. Here are some of the most common risks:

Financial risks: This includes project budget overrun, exchange rate fluctuations during monthly payments, unexpected costs related to cloud resource consumption, etc.

Risks linked to deadlines: Delays in the development of the modules of our package, planning problems over the duration of the milestones, unforeseen difficulties can lead to delays in the completion of the project.

Human Resources Risks: This includes loss of key team members, internal conflicts, competency issues, etc.

Technical risks: Problems related to technology (framework to use, external packages, etc.), tools, equipment, software or hardware can affect the progress of the project.

External risks: This includes unforeseen events such as illness, legal or regulatory changes, political issues, etc.

It is essential for the success of a project to properly identify, evaluate and manage these risks throughout its implementation.

Development Information :

Will all of your project’s code be open-source?

All of our project will be open source and under the MIT Licence

Leave a link where code will be accessible for review : GitHub - DartSiaProject/siahost

Do you agree to submit monthly progress reports ?

We agree to submit the progress report every month on the dates mentioned on the Notion board.

Contact informations :

Email: [email protected]

Any other preferred contact methods:

Linkedin : https://cm.linkedin.com/in/brel-james-172a89202 1

Thanks for your proposal to the Sia Foundation’s Grants Program! The committee is requesting an update to this proposal in order to fully consider it.

  • You need to provide an actual timeline for your project. Estimates are fine, but you should be able to tell the committee what’s happening, when it’s happening by, and how long the overall project will be.

The committee believes this proposal can be updated to accurately reflect this change, and so we’ll leave this in the Proposed category for now. Please update accordingly and the committee will re-evaluate. Thanks!

Hello Steve and thank you to the foundation for the consideration. We have update the proposal and the complete timeline are available here :

We hope that with this latest additional information, the committee will finally be able to fully study our grant request.

Thanks for providing the requested edits to your proposal. Note that all content must be included in the forum posts themselves for archival purposes. Please update your proposal to remove the Notion link and add the timeline information to the forum. We appreciate you noting where the Milestones fall in your timeline, and be sure to include that info as well during this process.

Once this is complete the proposal will be returned to the committee for consideration. Thanks!

Hello Steve and thank you for this feedback. We have just edited our proposal by adding the Timeline directly to it as requested by the committee.
Best regards

Thank you for the latest edits to your proposal. The committee has voted to approve this grant!

We’ll reach out to your provided email address to begin onboarding. It can take a couple of weeks to get new grantees set up, so please adjust your timelines accordingly. We’ll contact you after onboarding is complete to get the updated timeline and milestone target dates.

Hello Steve and thanks to the sia grant committee for approving this proposal. We will update the timeline and begin the work on next week. We also waiting the onboarding email to advance in formal process.

Hello @innovtech,

This is a reminder that your April progress report is now late.

Progress reports are due by the end of the 2nd day of the month, in this instance your April progress report was due on May 2nd.

Please be sure to follow the Progress Report Template and submit your progress report so we may continue funding your grant.

Regards,
Kino on behalf of the Sia Foundation and Grants Committee

Hello Kinomora,
In agreement with Frances, our first report must be sent on June 2. We took several weeks for onboarding between identity checks and late payment.
Thank you very much.

2 Likes

Progress made on our grant this month?

During this month, we mainly worked on optimizing the architecture of the application to be able to operate using the Go middleware that we will start to develop to facilitate and secure communications between the application and the renterd server.

We also work on the bucket and file management page. We end the design of the page and finish the devellopment on the functionnality on the application.

Problems Encountered during the work

During this phase, we did not encounter any major problems apart from the time it took to put our development servers back into service.

Links to repos worked on this month:

What will you be working on next?

For the next month, we will mainly work on finalizing the file management part by integrating the S3 API into our application.
We will also try to work on the application’s notification and alert system.

Hello @innovtech ,

Thank you for your progress report!

Regards,
Kino on behalf of the Sia Foundation and Grants Committee

Progress made on our grant this month?

During the month of June, we mainly worked on the Middleware ensuring communication between the application and the Renterd servers. We have completed its construction and carried out operational tests. It was designed by creating a proxy tunnel that encrypts communications directly with the server.

We have also started to integrate the new communication module into the mobile application through a dart package.

Problems Encountered during the work

During this month, we faced a problem during the development of the middleware because we were not very experienced in the development of Go applications. We had to retrain ourselves on this technology before tackling the development itself.

Links to repos worked on this month:

What will you be working on next?

For the next month, we will finalise the file management part and the integration of the middlewarre into the application. We will also push the application on the google Playstore.

Hello @innovtech

Thank you for your progress report!

Regards,
Kino on behalf of the Sia Foundation and Grants Committee

Hello @Kinomora
Please, can you check your DM on discord? One of our coder want to join the forum.

Hello @innovtech,

This is a reminder that your progress report is due.

Please be sure to follow the Progress Report Template and submit your progress report so we may continue funding your grant.

Did your developer ever join the discord server? I don’t recall getting a DM from him, but I could be forgetting.

Regards,
Kino on behalf of the Sia Foundation and Grants Committee

Progress made on our grant this month?

During this month of July, we mainly worked on the file management system and its integration with the middleware we created. We adjusted the encryption algorithm we created to add an additional layer of protection in the communication by adding the TLS protocol.

We also finished with the integration of the communication module on the client side of the application and at the same time performed initial tests and operational tests by importing and manipulating buckets and files.

Problems Encountered during the work

We had some issues with the notifications module not returning the correct information about the operating status of the renterd server.

Links to repos worked on this month:

What will you be working on next?

We will take the next 2 weeks to try to finalize with the remaining features then complete the unit tests on the application and finally release a public version on Google Play.

Yes @Kinomora Our dev joined the discord group and found a solution to his problem in the old messages.

Final progress report

Thanks again to the committee for giving us the opportunity to work on this project by funding it. Despite several difficulties that have delayed the completion of the project a little, we can say in view of the functionalities already operational that this project is a success.

What progress was made on your grant ?

The features that we have developed throughout the 4 months of work on this project:

  • Login : Be able to connect to a rented host using its IPv4 or DNS address and password.

  • Network Overview : This functionality allows you to display real-time data on the state of the Sia network as well as its interactions (Numbers of active hosts, Total Network storage, Total used storage, Storage Price per TB)

  • Host Research : This functionality allows you to list all the hosts available and active on the network.

  • Show Host informations : This feature allows you to display all of the host’s information as well and its scoring.

  • My Host Overview : Allows you to display the operating information of your host and see its operating status

  • Modify Host Parameters : This feature allows you to easily modify your host’s configuration settings.

  • Buckets and file management (70%) : This functionality gives the possibility of managing Buckets on your renterd host as well as all files and folders (Creation of folders, Uploading of files, Renaming of files, Deleting files and moving files).

  • Communication Middleware : We created a middleware application in Go to ensure the communication functions between the application and Renterd, initialization and recording of user connection information and especially encryption of traffic via SSL and AES256 protocols.

What will you be working on next?

Some features that had been announced in the initial grant could not be developed due to lack of time and financial resources:

  • Active Hosts Notifications: This feature allows you to receive notifications about changes in the status of a host (This feature requires the addition of a module at the middleware level to transmit notifications to the mobile application).
  • File sharing: This feature allows you to share a file with an access link.
  • Publish the app on google play store and ApplePlay (Google play console account verifications were started this week and should take a maximum of 7 days)

These features will be developed during phase 2 of the project as well as additional features such as:

  • Improved UI/UX design

  • Improved communications encryption algorithm

  • Implementation of a file encryption feature

  • Implementation of a phone file backup feature similar to Google drive

  • Implementation of a sqlitedb backup system for the renterd server

  • Write documentation, github page and tutorials for the application

Links to repos :

Hello @innovtech,

Thank you for your Final Progress report!

A member of the team will reach out to your regarding the wind-down of your grant.

Regards,
Kino on behalf of the Sia Foundation and Grants Committee

Hello @Kinomora.
Any update about the wind-down of the grant? We want to publish a new grant demand to complete the remaining work and implementing the new functionnalities that we want to add to the system.

Best Regard,
Egoume