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?
2
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.