Preface : An overview of the document. Why was it created.
Software Development Principles : Principles that should be practiced while writing software.
a. Single responsibility / Division of Responsibility
b. Layered approach to software development
c. RESTful API Architecture
d. Agile and the Agile Manifesto http://agilemanifesto.org/
Software Development Practices : Tips and tricks learned about how to write software well.
a. The Next Developer http://wiki.c2.com/?TheNextGuy
b. Test Driven Development
i. When are test complete.
ii. How to know a test is working
c. Comment First
d. Web First
e. Database design : Effective data modeling.
f. Be excited to learn
Software Design : How software should be designed to embody interoperability.
a. Display and Business logic separation.
b. Layered RESTful APIs
c. Component driven user interface
The project needs structure to go over the entire scope of what will be covered in the document.