So…, I finally found some time to work on sharry again. The result is a complete overhaul, almost everything has been rewritten. Why a rewrite? I used this project back then to start learning new technologies, like fs2/cats and Elm. So if you had a look at the code, now you know :). It is now much more modular and cleaner and there have been changes in used libraries, as well. This all together resulted in a re-design and rewrite.
The application still works as before, the ideas remain. Some features have been added, and others dropped. The most notable changes are:
- More authentication options have been added: http basic and (experimantal) OAuth support. I only tested OAuth login via Github and Google. Any feedback here is highly appreciated.
- New users can signup, either allow it for all, none, or use invitation keys
- The UI has a new design, it hopefully feels more natural to use. Also, the strange behaviour related to login sessions is now fixed.
- The REST api has been properly specified using OpenApi v3. This results in nice (generated) documentation.
- More alternatives for uploading files: You can now simply run a
curl
command to upload files. - The webclient now relies on the tus protocol for reliably uploading files. Uploads should be faster now.
- Re-publish using the same id as before
- Fully edit your shared files
- Separate documentation. Documentation is at a different place and not build into the application artifact.
- The command line client is removed. It was too buggy, and maintaining it is too expensive for me (and I'm not using it…).
- The build is now a lot less complex.
- Sharry is distributed now as a
deb
package and azip
file. It is not an executable jar file anymore.
Feedback, as always, is very welcome. Check the new documentation and try it out. When upgrading, see the migration guide in the documentation, there are semi-manual steps necessary.