Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

As a personal project, I'm creating a single page, asp.net web application using Nancy to provide RESTful services to the single page. Due to the complexity of the single page, particularly the JavaScripts used, I've think creating a dedicated project for the client side of web development and another for service side will organize and simplify the development.

solution
  |
  +-- web / client side (single html page, js, css)
  |    - contains asp.net project, and nancy library 
  |      to host the modules in application project folder
  |
  +-- application / service (nancy modules, bootstrap for other layer)
  |
  .
  .
  . and other layers (three tier, domain driven, etc)
  .

Is this a good way of organizing a complex single page application? Am I over-engineering the web app, incurring too much complexity?

share|improve this question
    
Off-topic. You might want to try: codereview.stackexchange.com –  Jim G. Dec 11 '12 at 4:10
1  
I've checked the FAQ of codereview and it considers "Higher-level architecture and design of software systems" as off topic, though honestly, I'm torn as to consider if my question is a higher-level architecture or not. Nonetheless, thanks for the post. –  OnesimusUnbound Dec 11 '12 at 8:09
add comment

1 Answer 1

up vote 1 down vote accepted

There is really nothing wrong with splitting them apart or keeping them together. If you plan on reusing you nancy services for other front ends it would make since to keep them separate. It would be trivial to factor out a single page with no backend later on if needs change, so just do what makes the most since to you -its just personal preference.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.