6 ms·
I have a read-it-later tool (https://hamsterbase.com/ https://hamsterbase.com/) that I've been maintaining as a hobby for 2 years, supporting Mac, Linux, Window
by hamsterbase 3y ago
I have a read-it-later tool (https://hamsterbase.com/ https://hamsterbase.com/) that I've been maintaining as a hobby for 2 years, supporting Mac, Linux, Windows, iOS, Android, and self-hosted Docker.
All these versions share the same codebase.
VSCF: I extracted part of the source code from VS Code and developed a framework called VSCF. It includes commands, themes, dependency injection, key bindings, IPC.
https://github.com/hamsterbase/vscf https://github.com/hamsterbase/vscf
Local server: On top of VSCF, I developed the underlying business logic, and file IO, SQLite, and the logic related to synchronization will be placed here.
Frontend: On top of VSCF, I used TypeScript and React for front-end development.
nodejs-mobile: This is an open-source project that allows me to use Node.js on mobile devices.
https://github.com/nodejs-mobile https://github.com/nodejs-mobile
Self-hosted version = local server + frontend, using WebSocket for communication.
Desktop version = Electron + local server + frontend, using Electron's IPC for communication.
Mobile version = nodejs-mobile + self-hosted version. Users use webview to access the UI. It looks just like a native application. They can even use their phones as servers to access data on their phones from a computer.