dwyl / phoenix-liveview-calculator

An awesome calculator built in Phoenix LiveView
GNU General Public License v2.0
2 stars 0 forks source link

Build a Realtime Collaborative Calculator ๐Ÿงฎ #1

Open nelsonic opened 3 days ago

nelsonic commented 3 days ago

@MikeRund stoked that you proactively started building a calculator in LiveView to continue your knowledge quest! ๐ŸŽ‰ Looks like you've already got something working on your localhost which is sick! ๐Ÿงฎ ๐Ÿš€ Don't want to hijack your work, just encourage to continue learning and build something awesome! ๐Ÿ˜

Todo โœ…

Please:

History โ—€๏ธ

Note: later this could be auth-based i.e. if a person authenticates they can see their calculator history. ๐Ÿ”’ Again, Auth should be relatively straightforward to add: https://github.com/dwyl/phoenix-chat-example/blob/main/auth.md but definitely not a priority. Just take this as far as you want to for your own learning. ๐Ÿ‘Œ

Bonus Level: Make it collaborative! ๐Ÿ‘ฅ ๐Ÿ‘พ

When the page loads, create an empty record for the calculation e.g: /calc/420 Put a share link somewhere on the page ๐Ÿ”— When the person who created the calculation shares it with someone else they can see the result of the calc. If either of them modify the calc it should create a new version of the calc e.g: /calc/420/1, /calc/420/2 etc. Showing the history of this calc as a nested list. e.g:

I have often wanted to share a the result of a calculation with team members either in the workshop/building-site or just in home/life stuff. always end up having to create a note and share that which feels tedious. If I had a way of sharing a link to a specific calculation it would be awesome. and even more if I could add a small (e.g. 140char note for the calc explaining what it is.

@MikeRund LMK your thoughts. ๐Ÿ’ญ ๐Ÿ’ฌ ๐Ÿ™

asntc commented 2 days ago

@MikeRund if you push up your initial code I can help test it. ๐Ÿ˜„

MikeRund commented 2 days ago

That'd be great thank you! Writing and testing functions with this tech stack definitely has a learning curve. I'll just tinker with a couple of things and I'll push ๐Ÿ‘