

Ask HN: Best example application to build to master a web framework? - theboywho

Hello HN,<p>I am in the middle of planning to write a book around a rails-like web framework/technology, and I was wondering what would be the best example, for you, for mastering this kind of tech.<p>- A twitter clone ?
- A tumblr clone ?
- An amazon clone ?
- etc.<p>This is kind of a poll, but I am new to HN and couldn't see how I could do that.<p>Thanks in advance
======
sergiotapia
Typically to get my bearings on Web Frameworks, I build an Amazon clone. Why?

* I can use the frameworks "partial views", header, footer, sidebar.

* I can use the frameworks stylesheets/javascript/images helpers.

* I can see how file uploads work (let users upload avatars).

* I can see what forms helper the frameworks have "create product" form.

* I can see how the framework facilitates forms validation.

* Search - I can see what ficilities the framework gives me in filtering rows from the database.

Once I'm done with this simple app, it takes me around a day, I can
confidently say I can work on actual products.

------
anujkk
Why only one? I would suggest you to compile a book with 4-5 small but real
world examples that focuses on different parts of framework. Ideally, I would
like to see :

1) A blog/to-do/HN clone as introduction.

2) Any social application that involves signup/login/user
management/profiles/roles/authorizations/connection/communication etc.

3) An e-commerce application - May be a shopping cart.

4) REST API with OAuth2 support(as oAuth provider not just consumer)

~~~
theboywho
This is quite an idea. I'll have to sleep on it ;)

Thanks

------
no_more_death
For a really simple example, you could try a Todo app.

For example, this site does the same thing for a number of JS frameworks:
<https://github.com/addyosmani/todomvc>

For something more complex, you could try to simulate a mail client (mail user
agent). You probably don't need to make it fully functional, just simulate the
email layer. If you do this, you are just obeying Zawinski's Law!
([http://en.wikipedia.org/wiki/Jamie_Zawinski#Zawinski.27s_law...](http://en.wikipedia.org/wiki/Jamie_Zawinski#Zawinski.27s_law_of_software_envelopment))

See what UkiJS does here for a browser example:
<http://ukijs.org/mail/index.html>

In general, check out RosettaCode to see how to do the same thing in different
languages.

~~~
theboywho
The Todo app would be good for an introduction tutorial, but for my book, I
want the user to understand the whole cycle of a production ready web site,
which means I need more advanced features to explore, to take them step by
step, from 0 to deploy.

Simulating a mail client would be good too, except that it is more suited for
people wanting to build web apps. My book is for people who want to build web
sites.

Thanks for the ideas.

