Alistair-Crompton / DGTCentaurMods

DGT Centaur Modifications
GNU General Public License v3.0
5 stars 6 forks source link

Moving web interface from AngularJS to VueJS. #31

Open Alistair-Crompton opened 9 months ago

Alistair-Crompton commented 9 months ago

On the web side, could be nice to start a smooth transition from AngularJS to VueJS.

AngularJS is completely outdated and not supported anymore... I started to use AngularJS to quickly create a new web interface but it's definitely not a long term option. The web interface is not reactive and is not natively properly supported by mobile/tablet plateforms.

A React or Angular migration could be options - even if I think VueJS is the simpliest one. I personally never used VueJS but I know React and read a lot about VueJS, really seems the best option for this kind of project:

coder5506 commented 8 months ago

Just a heads-up to let you know I'm doing a little work on this. It's in no way ready for prime-time, just want to avoid duplication of effort. Current code is at https://github.com/coder5506/DGTCentaurMods/tree/vue/DGTCentaurMods/opt/DGTCentaurMods/client if you're curious.

image

Alistair-Crompton commented 8 months ago

That sounds cool! I will have a look asap. Maybe we could create a sub web folder to access your frontend prototype.

Le dim. 5 nov. 2023 à 15:20, Eric Sessoms @.***> a écrit :

Just a heads-up to let you know I'm doing a little work on this. It's in no way ready for prime-time, just want to avoid duplication of effort. Current code is at https://github.com/coder5506/DGTCentaurMods/tree/vue/DGTCentaurMods/opt/DGTCentaurMods/client if you're curious.

[image: image] https://user-images.githubusercontent.com/106998838/280532353-c7d133e3-44a0-4c60-b1d4-77083f13a441.png

— Reply to this email directly, view it on GitHub https://github.com/Alistair-Crompton/DGTCentaurMods/issues/31#issuecomment-1793751216, or unsubscribe https://github.com/notifications/unsubscribe-auth/BBBSTWLY24U7XSZJ5KQIV6LYC6HCLAVCNFSM6AAAAAA5NYY64WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJTG42TCMRRGY . You are receiving this because you authored the thread.Message ID: @.***>

coder5506 commented 8 months ago

k, it's probably far-enough along now to play with. I moved the client under the web folder and added an option to the flask server to serve the Vue UI. Some notes in web/client/README.md. But for development it's probably best to just run it on your local desktop so you can see changes live. To do that, add the IP address of you Centaur board to vite.config.js so it can proxy the websocket connection.

Status is: layout and UI could use some work, and I haven't done the editor. But most everything else is there and seems to work.

Bug reports here, I guess?

coder5506 commented 8 months ago

Just an update for anyone who's following the issue. I've merged the Vue work into my master branch as it does not conflict with the existing Angular UI. And I've updated the readme with instructions on how to try it out, see

https://github.com/coder5506/DGTCentaurMods/blob/master/DGTCentaurMods/opt/DGTCentaurMods/web/client/README.md

I know @Alistair-Crompton plans to review it when he has time, but it's developed enough now that it's not actively dangerous to try (doesn't need to run on the board, doesn't require any modifications to an existing install), and I'd be happy to get any issue reports either in this thread or on Discord.

Alistair-Crompton commented 8 months ago

Thanks a lot Eric! I definitely need to have a try. If your work does not impact the frontend and if you think that as possible and useful, feel free to create a pull request. In the meantime I will have a look as soon as I can.