Open 0xpr03 opened 3 years ago
Hi, I can help you with this feature if you interested (as volunteer, of course). I'm expirienced in JS and PHP. Just need to imagine and describe workflow.
Thanks for the offer. I am in fact working on a backend currently, written in rust and have no specific plan yet for how the frontend will look like, so that's one way to get involved. I do have a plan what I want to do for password-optional login, multi-device support & offline capable synchronization.
@0xpr03 What you think about something like this?
Figma: https://www.figma.com/file/Zcmv1m6jZtdT3GFFPulQsO/VocableTrainer-Web?node-id=0%3A1
ping @mawoka-myblock you also did want to get involved with the frontend
@0xpr03 What you think about something like this? Figma: https://www.figma.com/file/Zcmv1m6jZtdT3GFFPulQsO/VocableTrainer-Web?node-id=0%3A1
Looks good, you'll probably hit a problem with multiple meanings. Which is one reason I'll probably move away from a clear table layout in the app (see #71 ). Though there is more space on a desktop, so my vertical idea is not the best solution here.
@0xpr03 understand you about multiple meanings. But this UX regarded strongly from the main app idea:
In the 1st case, the multiple meanings is not so important (i think). It may be realized with some delimiter symbol. While 2nd case requires two-level workflow for each row.
training with new words
Ah so you intend to implement the trainer too ? Because the easiest thing for that would be to mirror the complete app as a web application, implementing everything based on webstorage and then using the official app sync protocol. So no live fetching of data.
storing dictionary
That was my first reason for a web view.
No, I talking about the main android app purpose: vocabulary trainer or dictionary notebook.
If it is a trainer - there is not so important to use "Multi meanings". Because, when human learning foreign language, he define the main meaning of word for himself and trying to remember this. Other meanings are learned later as "second layer" of knowleges.
@rizhenkov I wouldn't use php for the frontend, I'd just use a frontend-lib, like svelte.
If it is a trainer - there is not so important to use "Multi meanings". Because, when human learning foreign language, he define the main meaning of word for himself and trying to remember this. Other meanings are learned later as "second layer" of knowleges.
That may be the case but we support adding multiple meanings explicitly, so that should be supported in the web view.
Also don't forget that some people use this for other stuff than learning vocabulary. Like remembering definitions, so that's totally fine.
@mawoka-myblock Of course, because the PHP - is the backend-only language.
@0xpr03 ok, I will update mockup soon and will propose the UX to workaround
To give a little sign of life I made the planned backend public.
There is a public API intended for browsers/webpages inside src/lists/
and src/users
. I intend to add API documentation sooner or later. For now this can be used to get an idea how things could work and how an SPA can be made around that.
The primary design goals for this backend are:
It's in https://github.com/0xpr03/vta_backend
* the required QR-Scanning login mechanism is still missing.
I'm evaluating whether to implement an online account feature (self-hostable) where you can upload your lists and thus edit them on your PC in your browser. This eliminates the import/export busywork completely. Import and Export won't ever be removed, but editing or creating new vocable lists from your PC should be much faster and easier for non tech-savvy folks.