Skip to content
This repository has been archived by the owner on Mar 5, 2024. It is now read-only.

Releases: dcsil/Konsensus

MVP Software

16 Apr 02:41
5fd7176
Compare
Choose a tag to compare

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.

Dashboards

Heroku

Frontend

image

Backend

image

CircleCI

Frontend

image

Backend

image

Sentry

Frontend

image

Backend

image

Live Deployment

Frontend

image

Backend

image

Dev Env, Test Infrastructure, & Production Setup

11 Mar 03:42
211f60f
Compare
Choose a tag to compare

Overview of This Release

Backend

We have setup a test infrastructure and CI system, and we prepared and presented a demo of it, which is referenced in the following issues:
dcsil/konsensus-app-backend#2
dcsil/konsensus-app-backend#3

The issues were solved in this pull request : dcsil/konsensus-app-backend/pull/13

We setup a developer environment dcsil/konsensus-app-backend#4

And we created a bootstrap script dcsil/konsensus-app-backend#14
Boostrap script: dcsil/konsensus-app-backend/pull/15

We also deployed our app to production dcsil/konsensus-app-backend#5
Heroku Deployment: dcsil/konsensus-app-backend/pull/17

We set up Sentry explained in this issue: dcsil/konsensus-app-backend#6
Sentry Exception Tracking: dcsil/konsensus-app-backend/pull/20

Service.Yml: dcsil/konsensus-app-backend/pull/12
CircleCI Setup: dcsil/konsensus-app-backend/pull/21
Docker obstacles: dcsil/konsensus-app-backend/pull/26 & dcsil/konsensus-app-backend/pull/28
Dependencies: dcsil/konsensus-app-backend/pull/8 & dcsil/konsensus-app-backend/pull/9 & dcsil/konsensus-app-backend/pull/10 & dcsil/konsensus-app-backend/pull/11 & dcsil/konsensus-app-backend/pull/27

Frontend

We created a side panel for our web app and created a header component as described here: dcsil/konsensus-app-frontend#10 & dcsil/konsensus-app-frontend#11
The changes are shown in this PR: dcsil/konsensus-app-frontend/pull/16

We also merged the following pull requests:
App setup: dcsil/konsensus-app-frontend/pull/1
Timeout to workflow: dcsil/konsensus-app-frontend/pull/3
Smart contracts: dcsil/konsensus-app-frontend/pull/4
Dependencies: dcsil/konsensus-app-frontend/pull/5 & dcsil/konsensus-app-frontend/pull/6
Authorization page: dcsil/konsensus-app-frontend/pull/14
Favicon: dcsil/konsensus-app-frontend/pull/15
Main page layout: dcsil/konsensus-app-frontend/pull/18

Bootstrap script: dcsil/konsensus-app-frontend/pull/19
Yaml: dcsil/konsensus-app-frontend/pull/20d & dcsil/konsensus-app-frontend/pull/22
Sentry setup and test button: dcsil/konsensus-app-frontend/pull/24
CircleCI project setup: dcsil/konsensus-app-frontend/pull/25
Test suite: dcsil/konsensus-app-frontend/pull/29

Roadmap Changes

Our initial roadmap can be found here.

We created updates to our tech stack which do not affect our progress in the roadmap. In terms of our first quarter, we have completed #51 #52 for our Customer Value Proposition. We have built an initial prototype using Figma #47 which can be found here. We used this prototype to conduct user research studies #50. We have also setup the developer environment dcsil/konsensus-app-backend#4 and we have set up our CI system dcsil/konsensus-app-backend#2, dcsil/konsensus-app-backend#3.

Upon researching for #53, we discovered that Ethereum had relatively high gas fees in comparison to another Blockchain network called GoChain. Lower gas fees greatly improves our cost-revenue model for #53. After our first demo, our team received feedback that AWS is a headache for developers to maintain and that other platforms such as Heroku are less troubling. For this reason we decided to switch to Heroku which has add-ons including SumoLogic. Using Heroku and SumoLogic means that we no longer need to use AWS BeanStalk nor AWS CloudWatch. In setting up our CI system, we discovered that we needed to modify our tech stack due to issues with Docker in the backend CI. For this reason we switched from Github Actions to CircleCI so that we can use mySQL without running into Docker obstacles. Ultimately, yes we are on schedule.

Updated Architecture Diagram

Below is a modified architecture diagram that reflects the changes in our tech stack.

image

Dashboards

Heroku Dashboards

Frontend

image

Backend

image

Sentry Integrations

Frontend

Screenshot from 2022-03-10 21-05-42

Backend

Screenshot from 2022-03-10 21-06-14

CircleCI Dashboards

Frontend

Screenshot from 2022-03-10 21-03-23

Backend

Screenshot from 2022-03-10 21-04-26

Live Deployment

Frontend

https://konsensus-client.herokuapp.com/
Screenshot from 2022-03-10 21-54-36

Backend

https://konsensus-backend.herokuapp.com/
Screenshot from 2022-03-10 21-55-39

Issue Summary

We currently have overcome all of the obstacles we've faced so far. In the coming weeks, we'll work on: #53 for our Financials Modeling and Projections, as well as continue to develop the frontend and backend of our web app.
In terms of our backend, we will work on further setup including:
dcsil/konsensus-app-backend#7
dcsil/konsensus-app-backend#22
dcsil/konsensus-app-backend#24
dcsil/konsensus-app-backend#25
For our frontend, we will work on implementing views from Figma using React, which is highlighted below:
dcsil/konsensus-app-frontend#9
dcsil/konsensus-app-frontend#12
dcsil/konsensus-app-frontend#13
dcsil/konsensus-app-frontend#27
dcsil/konsensus-app-frontend#28
dcsil/konsensus-app-frontend#29
dcsil/konsensus-app-frontend#30
dcsil/konsensus-app-frontend#31

UX Research w/Prototype, Roadmap Updates

01 Mar 22:26
bd7b4ae
Compare
Choose a tag to compare

High Fidelity Prototype

A viewing link to our figma prototype can be found here:
https://www.figma.com/file/6B3vmcOL4AZuZSkNPcb0KV/prototype?node-id=15%3A4

Evaluation Protocol

To evaluate our prototype, we followed up with two interviewees from our user persona research in CSC454 A3. The first interviewee was Lucas Schuermann, who is the VP of Engineering at a Fintech company with fewer than 10 employees. Our second interviewee was Olivia Li, a tech lead at a San Francisco startup with around 70 employees. We also interviewed our instructor Julian Nadeau.

We plan to continue conducting UX research in the future and hope to find additional users to give feedback on our prototype and MVP. In particular, we want to interview:

  • Tech employees of various levels. Differing levels of authority within an organization translate to different focuses on our product. We expect those in a position of leadership (like Lucas) would emphasize our security features more, while those in more collaborative roles (like Olivia) would emphasize usability.
  • Employees in a variety of roles. All of our current interviewees come from a background of software engineering, so we have very one-sided perspectives so far. Supplementary feedback from those who work in product or research would offer fresh viewpoints on our product.
  • One time users, meaning people who might be shared a file through our service but not use it as a part of their work. This is relevant for any use case that involves viewing a specific file.

During each interview, we asked the same set of jobs for them to complete sequentially:

  1. Upload a file.
  2. Let Windsor view the file you just uploaded.
  3. View the file you just uploaded.
  4. View the history of the file to see if Windsor has seen it.
  5. View a file you received from someone else.
  6. View who is in your organization and invite someone.

We took notes, asked participants for feedback while they completed each job, and did our best not to bias them with any leading questions.

Results

We consolidated our feedback from the interviews into three categories–strong points, pain points, and nice-to-haves. We were very pleased to find that overall, all our participants were able to smoothly go through each job without any issue. The only mistake participants made were figuring out how to add new users to their organizations. All participants enjoyed the consistent color schemes and digestible layouts that were consistent with commonly used file managers. The issues brought up were largely user dependent, for instance, Julian brought up that he would enjoy having file size also be shown on tables detailing several files. All three participants, however, did mention that they would like the security features - file history button, activity table etc. - to be more obvious, as it is one of the main features of our service. Moving forward, we will definitely need to find ways to incorporate this feedback into our current designs meaningfully. Additional feedback can be found below and raw notes for the interviews can be found in the appendix.

Strong points

  • Design is consistent with itself and similar services (ie. Dropbox)
  • Clear color scheme
  • Straightforward tasks, does not feel cumbersome or slow to use

Pain points

  • ‘Check history’ button should be more obvious since security is a main feature of our product
    • The log could be a separate tab, with the file itself being the primary tab
  • Again, since security and the ability to track file accesses is a primary selling point, we may consider adding more details to each log
  • The responsibilities and differences between the different roles are not very apparent. It is quite necessary that the information popup clearly explains the differences.
  • Organization membership should be sync automatically with LDAP
    • We’ll omit this for the MVP, but are aware that this is an important feature for production.

Nice-to-haves

  • File rows could be more informative (include creation time, file size, etc.)
  • The horizontal margins on the right section of the page are inconsistent.
  • Sometimes it is unclear what elements are clickable, especially if they are just black text.
  • The link in the email looks like a footer instead of a button.
  • Dark mode would help differentiate us between existing file storage systems and may increase our brand appeal.

Roadmap

The only change seen to our roadmap were short term development changes. We discovered that due to Ethereum’s high gas prices and slower transaction times, it would not be wise to use it as a means to deploy smart contracts. Instead, we opted for Binance, which has drastically lower gas prices and faster transaction times. (Binance, 2022) We also found that many of our tech stack decisions centered around Amazon services would be too time consuming to develop when compared to easier platforms which our team is more familiar with. We will be making updates to our tech stack and documenting any key changes on LearnSoftware in the coming days. Outside of this, all early logistics and UI/UX related tasks have been largely completed and our team is making strong headway into development as planned.

References

Gas (GAS) Coin Price, Chart & News. (n.d.). Binance. Retrieved February 28, 2022, from https://www.binance.com/en/price/antcoin

Appendix

Appendix A: Lucas Interview Notes

General

  • Likes the color scheme
  • Very consistent
  • Straightforward and clear

Upload a file [no mistakes]

  • Very clear
  • Maybe have the add file thing beside

Let Windsor view the file [no mistakes]

  • Very obvious
  • Maybe have a quicker way to access

View the file [no mistakes]

  • Straightforward
  • More details for how external people view the file

See the history of the file [no mistakes]

  • Add more details
  • Make the check history button more obvious
  • Maybe for updates, see what they updated
  • For views, see what they viewed specifically

View a file you received from someone else [no mistakes]

  • Again, more details

View who is in your organization and invite someone

  • Add user profile pic
  • A more clear ‘admin’ role

Appendix B: Julian Interview Notes

General

  • Not aligned on right side with “Create +” on left
  • Sidebar
    • Recent should go to recent section rather than having a section on the page
    • Reformat the listing on the sidebar
  • Can’t tell the role the current user is
    - UI/UX interview takeaways
    • Ask permission to record
    • Lead with questions
    • Too leading aka don’t bias the interviewee
      • Instead, if the user does something that isn’t what you expected, ask them “what made you lead to that”
    • Don’t give answers
    • Be mindful of delivery (customer service voice)
    • We want raw feedback

Upload a file [no mistakes]

  • Suggestion: make it auto upload rather than clicking “Upload”
  • Suggestion: change the table alignment for less negative space between the last two columns
  • Suggestion: use the metadata for file created timestamp
  • No file size column

Let Windsor view the file [no mistakes]

  • Suggestion: hover over the collaborators section for more info
    • Need it to be more accessible for blind people
    • Rather than just icons, hover over the icons for names of people
  • Pretty straightforward

View the file [no mistakes]

  • Very easy
  • Noticed that the file is uploaded to root directory and not to folders
  • Suggestion: use a home page or dashboard rather than quick access

See the history of the file [no mistakes]

  • Make the check history button more obvious so it’s clear it’s a link
  • Make it a tab page
    • So one page for file
    • One page for access history
  • Suggestion: admins care about history but a user may not, so separate this view

View a file you received from someone else [no mistakes]

  • Suggestion: Look into sharepoint link to share protected files and messages
  • Looks too much like a footer and less like a button

View who is in your organization and invite someone [mistakes were made]

  • LDAP should sync login
    - Clicked the settings button instead
  • Should make the top right buttons more obvious
    • The people button looks like the google drive share button
      • Suggestion: add a ‘+’ on the icon to make it clear it’s for sharing

Appendix C: Olivia Interview Notes

Upload a file [no mistakes]

  • Unsure of how ‘standard’ the current file upload flow is
  • Perhaps there should be a preview of the file you chose to make sure you uploaded the right one

Let Windsor view the file

  • Initially tried to click the file row (specifically, under the collaborators column) instead of the vertical dots menu
    • We may want to allow more functionality from the file’s page itself, instead of just from the list
  • Unclear about what other roles may be available

View the file [no mistakes]

  • Maybe allow the file to take up more space, or have a fullscreen mode. It may be hard to see details on a crowded file since the file itself only takes up a fraction of the page.

See the history of the file [no mistakes]

  • The table is kind of ugly and uninformative. Maybe each row should be interactive and clicking on one reveals more functionality/details?
  • The ‘check history’ and ‘export buttons are not clearly interactive
  • Timestamp is not human-readable

View a file you received from someone else [no mistakes]

  • The email should be slightly more informative
  • Questions about how the ‘Shared with me’ section should be organized

View who is in your organization and invite someone [no mistakes]

  • Again, unsure what each role means
  • Again, table is ugly and can likely be more informative and interactive

Tech Choices, Architecture Diagram, Roadmap

11 Feb 02:00
ab0998c
Compare
Choose a tag to compare

Overview of this release

Use Cases

Product Requirements, Tech stack and Architecture

Roadmap

Progress Since Last Release

In the past week, we've made a lot of progress refining our solution and getting user validation. Through our user research, we were able to obtain a lot of quantifiable metrics about what IP related problems were most rampant and what solutions were most desired in smaller tech companies. From this, we began ironing out use cases and creating mockups, information which can be found in this release. After defining our roadmap, we have a much stronger idea of how to approach development and what business steps to take next.

Summary of Issues

We created and closed issues relating to Assignment 3 for CSC491, including different steps of the process like use cases, tech stack, roadmap, and architecture. These issues were used to track discussion and organize feedback for topics that required collaboration such as mockups, and what stack to use.

We also created a new repo for our codebase: https://github.com/dcsil/konsensus-app
We created milestones and issues in this codebase for the upcoming few weeks regarding environment setup and initial functionality.

Changes to Roadmap, Architecture, or Use Cases

We created our initial roadmap, architecture, and defined 4 use cases to implement in the MVP.
All of these are linked above.

Team Exploration - Diversity and Inclusion

28 Jan 02:38
dd28929
Compare
Choose a tag to compare

Overview of this release

📝 Added diversity and inclusion discussion.

Progress Since Last Release

In the past week, our team collaborated to do broad research and then narrow down on a single idea to focus on for the rest of the semester. In the process, we learned a lot more about what blockchain technology can be used to accomplish and explored several creative ideas that our members came up with. We also learned more about our strengths and weaknesses as team members and collaborated to fill in any gaps. The majority of our time last week was spent on Assignment 2 for CSC454.

In addition, we made time to have team discussions on Zoom to talk to each other. We used the provided prompts from Part 3 of CSC454 Assignment 2a (Startup Team) and this Diversity and Inclusion assignment. Afterwards, the students in CSC491 (Stella, Safa, and Windsor) worked together to draft the actual writeup for the Diversity and Inclusion assignment based on the information we consolidated.

Summary of Issues

We created and closed issues relating to Assignment 2 for CSC454, including different steps of the process like ideation, research, writing, and creating pitch decks. We also created issues to coordinate the writing and release of Assignment 2 for CSC491.

Changes to Roadmap, Architecture, or Use Cases

N/A

Team Introduction, Team Setup

21 Jan 01:20
dd28929
Compare
Choose a tag to compare

Overview of this release

📝 Added team principles and profiles for each member of our team.

🎨 Created company name and logo.

Leader Election

The team has elected Stella (Sijia) to be the leader of Konsensus. Since she is only taking CSC454 and CSC491 this semester, her lighter course load will allow her to focus her attention on keeping the team on track for success. Stella also has expertise in product design, engineering, and technical writing. In CSC318, she led her team through the research, ideation, and UX design process to create a mobile application in the finance industry. In addition, Stella’s several software engineering internships give her the experience necessary to define best practices in a fast-paced environment.For the reasons above, Stella is the best candidate to lead us through this venture.

Progress Since Last Release

So far, we have taken steps in bonding as a team, learning about each others’ interests, strengths and weaknesses, and defining our core work processes. Through this, we established a concrete strategy on how we plan to approach and execute on upcoming tasks. We have settled on our communication and collaboration channels and utilize Slack, Notion, and Github Projects to facilitate our teamwork. We have also taken the initiative to brainstorm and research a few topics as a group and are in the early stages of ironing out our problem statement. We have also scheduled regular meeting times throughout the week. Altogether, we are making excellent progress as a team.

Summary of Issues

We have created and closed issues related to drafting and proofreading the team principles, filling out each member's profile, and illustrating a relevant logo. We have also created issues related to writing the 'Business Opportunity, Market Analysis and Startup Team' (A2a) report and will continue to make progress on it the upcoming week.

Changes to Roadmap, Architecture, or Use Cases

N/A