Overview of This Release
Progress
We have successfully completed our MVP. Using our project, a user can register or login. Once they are logged in, they can upload files, view files and star them from the All Files page. A writeup and video demoing the features of our MVP can be found here: https://github.com/dcsil/Konsensus/blob/master/demo.md
Video
Here is a direct link to the video: https://www.youtube.com/watch?v=GnV0Zo0L9X8
Code Climate
Backend
https://codeclimate.com/repos/620dd83dd65d9636d4007b9a
Frontend
https://codeclimate.com/repos/620c963e9dc87771fa008576
Issue Summary
The majority of our functionality was built during this release.
This includes creating the backend API, building the frontend components, and connecting to the Blockchain.
All issues and pull requests can be found in the following repositories:
https://github.com/dcsil/konsensus-app-backend, https://github.com/dcsil/konsensus-app-frontend.
Below we've noted down some major changes:
Authorization
We've added login and registration for new users:
dcsil/konsensus-app-frontend/pull/43
dcsil/konsensus-app-backend/pull/52
dcsil/konsensus-app-frontend/issues/28
dcsil/konsensus-app-frontend/issues/29
dcsil/konsensus-app-backend/issues/7
dcsil/konsensus-app-frontend/issues/52
Uploading
Users can now upload files using an upload modal:
PR: dcsil/konsensus-app-backend/pull/31 Issue: dcsil/konsensus-app-backend#29
PR: dcsil/konsensus-app-backend/pull/40 Issues: dcsil/konsensus-app-backend/issues/25, dcsil/konsensus-app-backend/issues/34, dcsil/konsensus-app-backend/issues/35
PR: dcsil/konsensus-app-frontend/pull/41 Issue: dcsil/konsensus-app-frontend/issues/30
Code Climate
We integrated code climate on both the frontend and backend:
PR: dcsil/konsensus-app-frontend/pull/45 Issue: dcsil/konsensus-app-frontend/issues/35
PR: dcsil/konsensus-app-backend/pull/32 Issue: dcsil/konsensus-app-backend/issues/30
We improved our UI by having different views that consist of different components including a Recents page, Starred page, and All Files page. We added features to star files, to view file sizes, and to have a dropdown menu on each file to do actions.
Starring
PR dcsil/konsensus-app-frontend/pull/61 Issue
PR dcsil/konsensus-app-frontend/pull/82 Issue dcsil/konsensus-app-frontend/issues/78
File Rows
We dynamically added rows of files to each page:
PR dcsil/konsensus-app-frontend/pull/56 and Issue dcsil/konsensus-app-frontend/issues/31
File Row Information
PR: dcsil/konsensus-app-backend/pull/50 Issue: dcsil/konsensus-app-backend/issues/51
PR: konsensus-app-backend/pull/45 Issue: dcsil/konsensus-app-backend/issues/36
PR: dcsil/konsensus-app-backend/pull/42
PR: dcsil/konsensus-app-backend/pull/41
PR: dcsil/konsensus-app-frontend/pull/62
PR: dcsil/konsensus-app-frontend/pull/69 Issue: dcsil/konsensus-app-frontend/issues/38
File Actions
PR: dcsil/konsensus-app-frontend/issues/64 Issue: dcsil/konsensus-app-frontend/pull/65
Add Collaborators
PR: dcsil/konsensus-app-frontend/pull/70 Issue: dcsil/konsensus-app-frontend/issues/66
Profile Pictures
Users can now have profile pictures:
PR: dcsil/konsensus-app-backend/pull/46 Issue: dcsil/konsensus-app-backend/issues/44
Smart Contracts
We also implemented smart contracts to incorporate Blockchain technology.
PR: dcsil/konsensus-app-frontend/pull/83
Roadmap Changes
We have completed all of our MVP use cases. Since the last release, we did not make any changes to our architecture. Although we were able to complete the core use cases, there are still many points for improvement.
To start, we would add more tests for the frontend. We also need to find a different library that can display file previews of multiple file types rather than only displaying previews for images. We also would want to implement link sharing through emailing in the future so that new users do not need to register to receive files. It would also be beneficial to explore other blockchain solutions, as it is not ideal that every user would need to set up Metamask to use our service.
We would ideally like to spend another month polishing the MVP, especially on the points stated above. In the future, we would like to bring on a blockchain engineer who has more field expertise than we do.