syntaxhighlighter

Friday, August 24, 2012

Kickoff - express-examples/sqlite

This is a little late kickoff for the project, but as I'm starting this blog and planning to bring here all my previous articles related...

Project location:

You can find the project in my github space at: github.com/camposer/express-examples

I'm planning to bring here all articles previously wrote in the project's wiki, but while I do that, you can find project's documentation here

Project goal:

I've been playing with Node.js for several days and started to ask myself how an application for real environments should be... This is how I got here, wanting to clarify common things/problems such as: i18n, MVC, DAO, SOA, REST, testing (xUnit style), documentation (Javadoc style), etc.

I hope this "conventions" (set of technologies and practices) help other programmers facing similar problems. I'm planning to add other examples including NoSQL and ORM, but right now only developed a simple app with Express as web framework and SQLite as SQL database engine. The app has CRUD operations for a user entity and was developed the way I think web apps should be programmed this days:

  • Presentation: HTML and CSS (inside CSS files). The HTML files should contain only static data and controls, NO format and NO logic.
  • Presentation logic: Javascript (inside JS files) and jQuery. jQuery Template for modifying presentation dynamically using HTML blocks. jQuery UI for improve user interface and effects.
  • Business logic interface: REST services. Presentation logic call REST services (using jQuery), which produces JSON data.
  • Business logic: Logic or service classes, separated from REST facades. This way your app can scale and be maintained easily. SOA style, decoupling!!!
  • Data logic: DAO classes. If you include an ORM, DAO should exist also for abstraction.

No comments:

Post a Comment