Giter Site home page Giter Site logo

massa's Introduction

Gitter

Massa - Mobile Accessible Social Sharing Agent.

Massa is an application that allows users to share internet bandwidth allocated to a file download. A download is performed using multiple devices and/or multiple internet connections. Downloaded blocks are joined using a local network or manually.

There are 2 major uses for this application

  1. An Individual can use multiple internet connections and multiple devices to download a file faster.
  2. Multiple people with low bandwidths can download a large file that is collectively needed.

Installation

First clone the Repository

git clone https://github.com/scorelab/Massa.git

Make sure You have install React Native and npm on your machine. To install react-native run

npm install -g react-native-cli

Change Directory To Massa

  $ npm install
  $ npm start

Screenshots

ss

Design Sketch: https://docs.google.com/document/d/198GQ-YXMnGymiSGBBaplGgiU5QH3zcWJ7xdM6Ueps0g/edit?usp=sharing

For more information please refer the wiki.

massa's People

Contributors

agentmilindu avatar angeryrohan avatar charithccmc avatar emgaurv avatar iammosespaulr avatar jadogg avatar lakindu95 avatar tharindupr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

massa's Issues

Documentation should be improved

The README.md file does not contain sufficient information on how to run the app.The documentation should be improved in order to work with this project in the future.

Improvements in Code and Environment.

  1. Block Allocation is not proper when New User is created. It gets a new ID but merging is not done. This can be fixed by goto and going to the ID Label.
  2. On line 20, the margin given is 14. This can be changed upto 16 in order to get a better view.
  3. Also at line 17 exportation of Module can be done of any specific object as it can cause multiple issues and then crashing of the application.
  4. Also there should be an Pre-Loaded environment that can be used to run Python/Angular Bash GUI in Windows/Mac without getting issues.
  5. At several places in Code, there can be use of pre to enhance the Looks of application.

Repo should follow Gitflow Workflow

This repos should follow Gitflow workflow and follow are the items you have to check.

  • There is a master branch and a develop branch.
  • master branch is locked for direct commits and,
    • Require pull request reviews before merging is active
    • Require status checks to pass before merging is active
      • Require branches to be up to date before merging
      • Appropriate Status checks are required
    • Enforce all configured restrictions for administrators is active
    • Restrict only maintainers group can push to the master branch
  • develop branch is locked for direct commits and,
    • Require pull request reviews before merging
      • Dismiss stale pull request approvals when new commits are pushed is active
    • Require pull request reviews before merging is active
    • Require status checks to pass before merging is active
      • Require branches to be up to date before merging
      • Appropriate Status checks are required
    • Enforce all configured restrictions for administrators is active
    • Restrict only maintainers group can push to the master branch

Readme.md should be updated

Massa project is to advanced.In other projects like D2D,Dronesym,senz have given the installation process and prerequties but this project doesn't have a installation guide it has given a google doc but either it doesn't also have the installation process. So I see that the Readme.md should be updated more.

improvements & issues

=> GUI/UX could definitely be better
=>master branch is locked for direct commits
=> Dismiss stale pull request approvals when new commits are pushed is active
=>Require pull request reviews before merging is active
=>Require status checks to pass before merging is active
=>Require branches to be up to date before merging

Descriptions should include detailed information on Wiki and README.md

This is a neglected issue which needs proper working and immediate action.

Massa is a great application with unique features to itself, the Wiki explained greatly on how to use the application AFTER installation on 'Massa Communication Protocol' section. But, many users will not have an idea on how to set the application up on their device, which should be the primary interest of the Wiki page or the README.md file. It'll be a huge help if users could set the application up on their advice and test the features, point out issues, fix them and greatly contribute in the application's database.

The sections you could add on the Wiki page and README.md are:

  • Setting up Massa guide
  • Descriptive information on Massa's goals, usage and functions
  • More things the application can do, with tutorials
  • How the application's idea was thought and raised (INFO)

There's an empty 'Massa Distributed Download Data Hashing' section on the Wiki page which is left empty and can be the first section to fill and start working on this issue.

[GCI2018] Crashes Whole System When Trying to Run

I tried running the app on my computer using these commands npm run start and npm run android and even the tests npm run test
But whenever I executed these commands my terminal freezes and after that my whole pc crashes.

Before that , I ran many react-native application on my pc , but that kind of incident never happened.

OS : Ubuntu 17.04
Node : 8.12.0 LTS
Terminal : Gnome Terminal

🔔Improvement Ideas:

  • Add more appealing Icon
  • Add How to run guide on README

Issue regarding Readme.md

The Readme.md should be more descriptive regarding the software, its use and installation process.

FAIL .\App.test.js

image
When I run test ( node node_modules/jest/bin/jest.js)
Test suite failed to run

C:/Users/hoduc/Desktop/GoogleCodein/Massa/App.test.js: Unexpected token (7:35)
     5 |
     6 | it('renders without crashing', () => {
  >  7 |   const rendered = renderer.create(<App />).toJSON();
       |                                    ^
     8 |   expect(rendered).toBeTruthy();
     9 | });
    10 |

`
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 0.97s
Ran all test suites.

Missing files and information

No installation instructions make it very hard to setup.
Looking a package.json, it uses react-native, meaning a react-native development environment is needed to setup, something that some people may miss.

Also it may be worth while clarifying the differences or similarities between Massa and Bassa - another one of Scorelab's projects with similar functionality.

There appears to be Unit testing or UI testing through https://flow.org/ (Flow) and https://jestjs.io/ (Jest) but there is no real instructions on how to run them (looking at package.json it's apparently npm test for jest).

Looking at files in https://github.com/scorelab/Massa/tree/master/flow-typed/npm there is still declarations that have been set to any even though at the top there is Fill this stub out by replacing all the any types.

Possible solutions:

  1. List detailed instructions on setting up the development environment, and starting the app. This will need to include setting up the react-native development environment.

  2. Have a seperate file (or in README.md) explaining the design, and functionality of Massa (a ABOUTMASSA.md page possibly) that explains in detail the purpose and how it aims to work. Regarding the similarity between it and another project (Bassa) it would be helpful to have a paragraph explaining differences and similarities and possibly how they will integrate together (as Bassa too has a mobile app)

  3. Include a separate file in the wiki or in a docs folder that has the instructions for proper development. This should include how to run proper tests, what kind of code styling to use - e.g. Google's JS style guide https://google.github.io/styleguide/jsguide.html

  4. Fill out the sub autogenerated files with the correct paths where needed

readme, wiki, installation

  • The dependencies for the project need to be updated as they are shown to be corrupted (see below) -
    • The installation hangs at extract:react-native-branch and there was no workaround for this. The issue should be looked into. (see below) -
      corrupted,hangs
  • The Communication Protocol Wiki for the project has a broken link in the creating a group secret section. (see below) -
    BrokenLink
  • The README.md file along with the wiki for the project is not maintained properly. Installation instructions should be provided in a clear fashion to help novice users to run the app properly on their device. The wiki does not contain the Objective and the principles of the project. These issues should be addressed for facilitation of support for new users.

Suggestion

According to my idea this app has too long installation process. So people will not use it in this case. I suggest this app must build as an apk so people will use it.

Add a instruction manual

Hi Massa crew I identifed their is a issue -:Think after realising this app into playstore or appstore people who uses this app through play store or appstore doesn't know how to work with this app since their isn't an instruction manual . So I suggest you that add a instruction manual then this issue will not appear in the future.

Define communication protocol

  • Define how users can register
  • Define how users can create a new download
  • Define how users can communicate progress of blocks
  • Define how users know when the full package is downloaded
  • Define how users join the package

[GCI-2018] Improvements in README and code

  • The README.md file does not contain sufficient information on how to run the app. The documentation should be improved in order for newbies.

  • Block Allocation is not proper when New User is created. It gets a new ID but merging is not done. This can be fixed by goto and going to the ID Label.

  • On line 20, the margin given is 14. This can be changed upto 16 in order to get a better view.

  • Also at line 17 exportation of Module can be done of any specific object as it can cause multiple issues and then crashing of the application.

  • Also there should be an Pre-Loaded environment that can be used to run Python/Angular Bash GUI in Windows/Mac without getting issues.

Expo

I tried to run the massa project but it shows could not load
screenshot_2018-11-21-11-17-54
screenshot_2018-11-21-11-18-00
screenshot_2018-11-21-11-18-08

Readme-logo-ui-components

Issues

Overlapping & unusual Buttons

The Status bar is overlapping on screen which seems unappealing.

& There is some buttons which are already present in Tab Navigation Bar so we don't need them.

hehehe

Readme.md

Readme File is not so helpful because there is no gitter chat box link nor installation guide is present.

Logo & Icon

Massa's Logo seems unappealing

SOLUTIONS

This PR[https://github.com//pull/14] Fixes all of the above issues.

new Logo
logo

Updated Readme.md
readme

Google Code-In 2017: Getting Started Issue

THIS IS A NOT A REAL ISSUE BUT A PLACEHOLDER.

All the practising PRs for Google Code-In 2017 should refer this issue. PRs referring this issue will be closed without merging. Do not refer this issue if you are NOT submitting a practice PR and need your work merged.

Package.json Issue

The package.json uses react-native development environment. So it is required to setup the program and most of the people don't know how to use react-native development environment. So it would be best if proper briefing was given on how to set it up in the README.md

Suggestion

What about using React Native Element for the better UIs in the applications. As well as Using <TouchableOpacity> Rather than Using the <Button>

Improvement that could help developers

This project has a low understandably information in README.md file.For developers its essential to add content about ,

  • How this has to be installed

  • The purpose of the project

  • Requirements that are needed and where to get them.

Please add these content so developers can easily contribute to this project.

Interface mockups

I've created the following mockups for the Massa app. If this is ok, I can implement it using react native and make a PR. A working demo is available here

I already have a version with splash screen implemented available here, should I create a PR for this only?

Screenshots

Splash Screen


Login


Downloads


Download Details


About Screen

Google Docs Sharing Link Permission

It has come to my attention that the google docs file doesn't actually have anything in it. I can edit the content, change the name of the file, and many more things.

Advice : Change the permission on the google docs sharing link to Viewing instead of Editing.

Unnecessary use of Flow

In the Massa javascript source files, we are using @flow syntax to use Flow to check the static types, but we are not really using any of its possibilities (the only real use is in the SampleText.js file).
We either should use the Flow static type checking or (I don't recommend this way) delete the @flow comments.


Flow is a really good static type checker, why don't we use it to avoid all the bugs that we can possibly make?

App issue

It has come to my attention that once you install MASSA, there is a sort of grammar issue.
capturek
In this picture, there is something weird. The h in home tab is not capitalized, but the P in People tab is capitalized. This also happens within the next few lines. Also, I'm pretty sure that it is supposed to be "Go to the..."

Another issue I noticed was that since anybody has access to the google docs document, they can delete everything, which they did, and was not helpful.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.