soundscape-community / soundscape-web-client

Intelligent navigation on any platform
MIT License
2 stars 2 forks source link

kick off wrapping it into a ionic with capacitor #26

Closed sebastianovide closed 3 months ago

sebastianovide commented 3 months ago

Experiment Branch

Perhaps it should be an "experiment" branch as I don't know if it will work. This is just the first step: a blank Ionic app with Capacitor. It is not using React at all, but it is ready to use it (though it will require rewriting).

I've tested it on my Android device and it seems to work. To test it:

npm install -g @ionic/cli
npm install
ionic build
npm start
ngrok http http://127.0.0.1:8080/

If that works and it makes sense to you, we can keep merging (moving the other files from MERGING) and creating the .github action. At this point, we would not have anything new apart from the Ionic wrapper that will enable us to move to the next step: building an Android app with plugins such as Background Runner.

steinbro commented 3 months ago

I'm not sure what all these pieces do quite yet, and I don't have an Android device to test it out. But the build commands seem to succeed, and the bare HTML app still works, so as far as I'm concerned keep on going 👍

sebastianovide commented 3 months ago

ok, I've merged the other files, it seems to work. Not sure if the deployment on github page works as I could not tested...

steinbro commented 3 months ago

There's a lot of not-yet-populated template code in here, particularly the src and cypress directories. Can we omit them from the merge until they have some purpose?

What was preventing you from testing the github-pages deploy? The workflow also tried to run in your fork, and it is failing: https://github.com/sebastianovide/soundscape-web-client/deployments

sebastianovide commented 3 months ago

There's a lot of not-yet-populated template code in here, particularly the src and cypress directories. Can we omit them from the merge until they have some purpose?

The intention of this PR is to include these templates as they are part of the blank React Ionic project, as outlined in the Ionic quickstart guide. This provides a solid foundation for anyone interested in migrating from vanilla JS to React, making the project ready for immediate use.

What was preventing you from testing the GitHub Pages deploy?

I needed some time to figure out how to test it on another GitHub page where I have the necessary privileges.... not sure when I'll have it... ok... at least we have a draft here in case somebody is interested

The workflow also tried to run in your fork, and it is failing: link

Good catch! This workflow should only run post-merge.

and I don't have an Android device to test it out

I was considering this point. If you're the primary developer and don't have access to an Android device, we might need to reassess wrapping it in an Ionic project. The main advantage of using Ionic was to run the app on Android, allowing background operations with the phone locked and facilitating real-world testing with blind users who use Android devices.

What are your thoughts?

steinbro commented 3 months ago

As long as the current functionality keeps working in a web browser, I'm fine with introducing new frameworks to improve the experience on specific platforms. (I take it Ionic also compiles to PWA, though I sense that would basically maintain the status quo but with a less trivial build process.) Also, I do wonder if Vue would be a lighter lift than React for an existing codebase in plain JavaScript.

I'm not personally going to be of much help on Android. Are you up for taking on that challenge?

sebastianovide commented 3 months ago

have a look at this version instead (https://github.com/soundscape-community/soundscape-web-client/pull/27 )...

I'm not personally going to be of much help on Android. Are you up for taking on that challenge?

to be honest I've just trying to see if it works in Android and see if the blind community cares about it... probably it will not be me maintaining it after the MVP phase...

indipendently, having it wrapp inside a capacitor will let you use capacitors plugins that are good for web and iOS too

steinbro commented 3 months ago

Understood. Closing this in favor of #27.