Show HN: BewCloud is a simpler alternative to Nextcloud written in TypeScript (bewcloud.com)
For the last month or so I've been working on bewCloud, and today I'm making its source code public and open!
Right now, the Dashboard (URLs + freeform notes), News (RSS/Atom/JSON feeds), and Contacts (CardDav) are working.
If you have any suggestions, comments, or recommendations, I'd love to hear it.
Thank you for your attention and kindness. I really appreciate it!
45 comments
[ 3.4 ms ] story [ 102 ms ] threadThis could perfectly fill that spot. Will be testing soon.
My goal is to be able to not have to run any Nextcloud instance, and I'm happy to already have shutdown News and Contacts from the "availability" instance! Calendar won't be as "easy" or quick, but I'm looking at this as a long-term thing anyway, no rush.
It's likely this will have bugs for the weirdest things, and where I'd appreciate help as long as it's not making things too slow/heavy. It's currently very naive and simple and using https://deno.land/x/xml@2.1.3 for some minor parsing in some of the requests; I drew the line to stop supporting fields and actions as soon as it worked perfectly for me and my wife (Linux and Android + macOS and iOS).
That being said, here's the function to build a vCard: https://github.com/bewcloud/bewcloud/blob/b81710a720d7d6afc2...
And the function to parse a vCard: https://github.com/bewcloud/bewcloud/blob/b81710a720d7d6afc2...
My experience with DAV in general is that there are enough inconsistencies between clients that it's hard to support everyone properly. To be fair, that was well over a decade ago, maybe things are better now -- but it's the sort of spec where it makes sense to put effort into reusable libraries, to amortise the effort across multiple projects.
On the other hand, if you're enjoying yourself then great :). I'm looking forward to seeing what the project evolves into.
> I fear you may be in for a painful time :(.
Oh, I had some pain with Gnome and iOS already! DavX5 (Android) was pretty easy to debug and "tell me" what was wrong.
> On the other hand, if you're enjoying yourself then great
Exactly. I don't need bewCloud to replace Nextcloud or ownCloud for everyone, but as long as it does it for me and my family, it's cool. If others benefit, even better!
[0] https://github.com/mnutt/davros
Deno is an anagram of node, not reversed :)
But looks nice, will have a look at it!
For example, that "Pets a dog" reversed could be either "Dog a pets" or "God a step", obviously words are a more natural breakpoint though.
To really try too hard, in Japanese it'd be something like ノデ so it would be reversed character by character as it'd be split like that (not a Japanese speaker, so take with a lot of salt, I imagine it'd actually use another character to sound more like the English pronunciation of node).
Meanwhile, if you approach each module as it's own project, but with shared code where sensible, and open standards driving your integrations, people including you, can select the parts that best suit them while mixing in software from others where appropriate.
You want me to have how many services running just so I can have a calDav/cardDav server? And sometimes you'll just stop working because of some unrelated issue of something I'm not using? Headache upon headache when you depend on it, but only for one thing.
Radicale people. Forgive me for doubting you. I have never used Radicale but I certainly do now just to point people away from nextCloud if all they want is a calDav/cardDav server.
Who knows, maybe in a few months or years I'll just throw in the towel and install Radicale and FileBrowser and just rely on `rsync` or Syncthing for the desktop/mobile sync.
They all use open standards (CardDav, CalDav, WebDav), and that's why I can use DavX5 on Android and Gnome on Linux and Apple's default accounts/apps too.
bewCloud has and will have a simple UI for each of those just because I think there's value to having an easy web access that's not sync-dependent.
I hope that makes sense!
Setting up syncthing was incredibly easy and it is a beast. Has no problems syncing all my huge video media files
All it did is beg the question for me: why has nobody created a file sync UI where you can essentially use syncthing like you might Google Drive but with a slick effortless interface that non-technical folks wouldn't mind using?
Will I still have to install postgres?
Please keep the upgrade process hands-off.
What is your solution right now?
Two points:
For just CalDAV / CardDAV there's Radicale, Davical and Baïkal all of which work pretty well and are relatively easy to set up, so this might be a bit of wheel re-invention.
Perhaps you might consider relying on those projects for calendar / contact sync and then add your other pieces (file, photos, etc).
Second point is I think the reason why Nextcloud / Owncloud end up becoming super-slow for file sync is unfortunately the use of WebDAV.
I can't find the thread at the moment but I remember the developers from one of those projects saying that WebDAV itself makes the file-sync super slow and resource heavy.
As a result I think the Owncloud++ or their golang based re-implementation prefers the use of S3-compatible for backend file store.
I'm not saying you should use S3, but if you continue down the path with WebDAV for file-sync you might find it's resource heavy and slow as Nextcloud/Owncloud might be.
As for WebDav, that's still a while off, but will also take that in consideration, thank you!