Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TodoMVC example #68

Open
creynders opened this issue Sep 12, 2014 · 8 comments
Open

TodoMVC example #68

creynders opened this issue Sep 12, 2014 · 8 comments

Comments

@creynders
Copy link
Contributor

I finally found a few hours to set up a Geppetto TodoMVC example. It's 100% fully functional, with a live example and the source.

It uses the last version of the code i.e. the one in #67 and it's beautiful. 😁

With:

Have a look and let me know what you think. It still needs documentation though.

@creynders
Copy link
Contributor Author

I forgot to add, it features:

  • a Grunt build and publish process
  • Uses browserify
  • Handlebars and hbsfy

Because I'm planning on using this as more than a Geppetto example; I'll create a NodeJS REST API separately which allows saving the todo items to a database, show how to swap localstorage to database storage with a single line, i.e. make a fully functional, more "realistic" example, which highlights the benefits of DI, solid configuration management et cetera.

Since that is one of the problems with DI et cetera. People don't realise they need it, since they don't understand how or when to use it properly. I noticed the Marionette community is finally realising that hanging everything on the application might not be a good idea after all ... They're planning on doing all kinds of over-engineered stuff with the Application class in v3. I think if Geppetto could be advertised as having solved those problems a long time ago it might gain a lot more traction.

@howardroark
Copy link
Contributor

This will be so helpful! I would love if you made a write up about this and elaborated more on topics of what people may not realize. Some common real world gotchyas that this project solves. How we can avoid over engineering things with this is a great topic idea. Why don't we realize that we need DI? That kind of insight is key for passers by like me.

I eventually plan to use this project in a tool that uses web sockets to manage a JSON object which is essentially the state of the user experience. Working towards having things always synced to localStorage and a server running MongoDB. The idea being that if something edits the state object on the server it ends up being reflected to the user in whatever experience is relevant. I think it could be a great way to build web apps/phonegap apps meant for operational endeavours... much like a todo app.

Sorry to go off topic... Thanks for using browserify over AMD!

@creynders
Copy link
Contributor Author

@howardroark Yeah, I'm planning on doing full source code commenting ("why", not "what"!) a comprehensive guide in the readme and probably a series of blog posts as well.

Glad to hear there's interest in this!

And ... browserify FTW! Once you go browserify, you'll never want to RequireJSiffy (again). Or something like that.

@howardroark
Copy link
Contributor

I have been watching this project for about a month and seen some quality work and conversations going on. I like to do that before I use something. There are a lot of projects out there that may have great code, but if people are not into it any longer...it may be a waste of time. Keep it up!

Browserify is such a sane process. Though I am not really sold on Node.js from an economic stand, I'm staying with Python for web services... don't shoot me! Sometimes I feel like the Node community thinks that they now own JavaScript :P Duo is a wicked project that takes the learnings of browserify and also removes the need for a package authority. Keep your code nice and tidy without all that messy AMD stuff. I mean, why ever ask a user to go through 10 request cycles just to get enough code to show them a carousel? Just make it one file... that is what 4G networks are for!

@geekdave
Copy link
Contributor

Wow @creynders - I'm speechless. This is incredible work... and it demonstrates some powerful concepts possible with Geppetto that even I didn't know existed. :)

Looking forward to seeing this mature. Have you gotten in touch with the TodoMVC maintainers yet to get this linked?

@geekdave
Copy link
Contributor

By the way, we now have our own GeppettoJS org for this repo. Previously, it was owned by my former employer. But there are no longer any active maintainers there, so they released it into the wild.

@creynders in appreciation of your service to Geppetto, I've knighted you as an "Owner" with direct push access. I think PRs are still the best way to introduce new features, now that we have a growing community and lively discussions. But I'll no longer be the bottleneck for making decisions and getting things merged. So feel free to act in the project's best interests if I'm not around, or don't have the mental cycles to make a call about something. :)

The old project URLs and git links will redirect to the new site. But please update your own links to https://github.com/GeppettoJS/backbone.geppetto

If you'd like to move your TodoMVC implementation to this org, you can do so from the "Settings" > Transfer page on that repo.

@howardroark
Copy link
Contributor

Awesome news! This all sounds very promising :)

@creynders
Copy link
Contributor Author

we now have our own GeppettoJS org for this repo

Hurray!

I've knighted you as an "Owner" with direct push access

Wow, that's awesome! And an honour! Thanks!

I think PRs are still the best way to introduce new features

Absolutely. No need to change our modus operandi.

If you'd like to move your TodoMVC implementation to this org

Definitely.

Have you gotten in touch with the TodoMVC maintainers yet to get this linked?

Not yet, since the example as-is does too much compared to the other examples. I'll have to fork the official TodoMVC repo and create a separate port (largely based on this one obviously)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants