Git Product home page Git Product logo

sharesome's Introduction

Sharesome

Sharesome lets you share files quickly from your own remote storage account.

Your account needs to support the RS (remoteStorage) standard. See https://remotestorage.io for more information.

Contributing

Please open GitHub issues for any questions, feedback or feature requests. Pull requests for the source code are very welcome and will always be responded to.

Prerequisites

You will need the following things properly installed on your computer.

Installation

  • git clone [email protected]:skddc/sharesome.git this repository
  • cd sharesome
  • npm install

Running / Development

Code Generators

Make use of the many generators for code, try ember help generate for more details

Running Tests

  • npm test for one-off runs
  • ember test --server to watch files and run tests automatically

Linting

  • npm run lint:hbs
  • npm run lint:js
  • npm run lint:js -- --fix

Building

  • npm run build (development)
  • npm run build:prod (production)

Deploying

For deploying a new version to https://sharesome.5apps.com you need to be added as a collaborator on 5apps Deploy.

  • npm run deploy (production)

Further Reading / Useful Links

sharesome's People

Contributors

dependabot[bot] avatar ebrahim-elgaml avatar galfert avatar jorinvo avatar raucao avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

sharesome's Issues

npm install fails

Can you relax the dependencies either on karma 0.9 or on karma 0.11?

root@d8eee405d9d3:/sharesome# npm install
npm WARN cannot run in wd [email protected] bower install (wd=/sharesome)
npm ERR! peerinvalid The package karma does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer [email protected] wants karma@~0.9.4 || ~0.10
npm ERR! peerinvalid Peer [email protected] wants karma@~0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9.3
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.11.14

npm ERR! System Linux 3.13-1-amd64
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install"
npm ERR! cwd /sharesome
npm ERR! node -v v0.10.28
npm ERR! npm -v 1.4.9
npm ERR! code EPEERINVALID
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /sharesome/npm-debug.log
npm ERR! not ok code 0

Use History API

The loading problem that sometimes leaves the app with just a grey screen is due to the deferReadiness statement that depends on the remoteStorage.js state. We don't need that at all, when using the History API, because it's only there to avoid Ember grabbing the auth token from the URL fragment.

Can't upload same file twice in Chrome

After uploading a file, when I choose the same file again in the file dialog, the "dropzone" stays empty.

This also happens when canceling the first upload.

When I switch to the history in between, it works.

Unify upload and history views

I think it would be pretty handy to just have one screen.
It happened to me before that I dragged a file into the history view accidentally.
The upload area could be a small thing at the top and the area could expand if you drag a file onto the page.

Dependencies missing

I tried following the build & run instructions but the package.json "dependencies" are missing, so a tonne of packages that are require'd in the project can't be found. I manually installed a few but gave up :(

Paste screenshot from clipboard

It would be cool to be able to take a screenshot of something, then just paste it into sharesome to upload. But I wonder if there are technical limitations preventing this?

work with librejs

I'm using IceCat with LibreJS (https://addons.mozilla.org/en-US/firefox/addon/librejs/) and Sharesome doesn't work because the license of the files is not made clear to LibreJS:

  <!--LibreJS: script blocked.--><script data-librejs-blocked-src="assets/e06bb2a9.vendor.min.js" data-librejs-reason="error parsing: 1139be7836eb290fe0ed313c949501f823ba7c31" data-librejs="rejected" type="librejs/blocked"></script>

  <!--LibreJS: script blocked.--><script data-librejs-blocked-src="assets/83df10b7.app.min.js" data-librejs-reason="This script is detected as nonfree, external, and as defining functions or methods" data-librejs="rejected" type="librejs/blocked"></script>

(and a few more are blocked). As they are all free software, it should be possible to get this sorted out, but probably also depend on the deploy scripts for 5apps.

Instructions on how to do this are available here: http://www.gnu.org/software/librejs/free-your-javascript.html

Update setup (ember-cli, dep versions etc.)

I really like sharesome and I have some ideas to improve it.
Unfortunately, I can't work on it because I don't manage to set up the project.
First I need to install Ruby and Bundler. Then Bower (I already have node installed).
But I get some dependency conflicts running npm install.

Would it be possible to make the setup simpler? Are Bower and compass really necessary?

Add favicon, based on apple-touch-icon

Currently, we use the one automatically generated by 5apps Deploy. However, that one is the padded version created for homescreens which don't cut/format the icon themselves, and also the flatness of the apple-touch-icon is better suited for tiny favicons in browser tab bars.

Create thumbnails for history page

Right now it's loading the full items, and all of them at once. We should create thumbnails when uploading images (or other file types we can potentially read from JS and turn into images) and use those on the history page.

thumbnails are larger than uploaded files

total 84
-rw-r--r--. 1 apache apache 48570 Oct 19 12:22 151019-1222-cthulhu.jpg
-rw-r--r--. 1 apache apache 28990 Oct 19 13:15 151019-1315-fuck-the-police-3.jpg
drwxr-x---. 2 apache apache  4096 Oct 20 14:44 thumbnails
[root@php-remote-storage shares]# ls -l thumbnails/
total 200
-rw-r--r--. 1 apache apache  93241 Oct 19 12:22 151019-1222-cthulhu.jpg.png
-rw-r--r--. 1 apache apache 108528 Oct 19 13:15 151019-1315-fuck-the-police-3.jpg.png

They are converted to PNG, maybe that has something to do with it...

Something can be done about this?

Style buttons

There's no button style whatsoever yet. Currently there are only buttons in the upload UI.

Routing is broken

App cannot be loaded from #history route at the moment, will always redirect to #index.

Search

I'd like to be able to search my shares (by filename at least, if we don't add user-editable meta information).

I'm sharing a lot of conversational images, and I'm just too lazy to scroll down and fish them out of the page, so I just share them again and again. By this point I have no idea how many duplicates there are.

Tags could also be useful when looking for a specific screenshot and such things for example. Or all shares about a certain project.

No item interaction possible on iOS

When using the app on an iPhone or iPad, tapping an item in the history view doesn't show the menu, so I can't download anything or copy the URL.

uses multiple redirect_uris

I noticed that multiple redirect URIs are used by sharesome, depending on the URL you are visiting. If you try to login while on the 'history' page it will use that as a redirect_uri, it should use state for that. Now I have the app listed twice ;)

screenshot from 2015-10-27 21-00-06

Annotate images

Originally the idea was that it's possible to optionally annotate images before uploading (one of the reasons for the preview step).

Maybe there's a ready-made component for a simple <canvas> editor with just text, arrows, lines, rectangles?

allow to rotate images

I uploaded some photos to my server, but they appear upside-down. Would be nice if the apps allows to rotate the pictures.

Show upload progress

When I tried to use sharesome on my Android phone, to upload an image I took with my phone, it allowed me to select the image to upload, but then just shows the spinnging animation during upload. I waited about 10 minutes but it was still showing that animation so I didn't know if it was even really uploading or not. I ended up cancelling the operation.

An upload progress animation would be very helpful in a) knowing your upload is working b) if not, knowing to file a bug about it.

Mobile support

At the moment, the app is made for and tested on desktops. Let's make it a bit more responsive.

Style empty History view

Either hide the menu item before something was uploaded, or add content and style for an empty view.

Improve upload view

The upload view doesn't tell users what to do at all yet (click/tap anywhere or drag files here). Should use a nice graphic in addition to text.

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.