Need advice on building a new eCommerce web (cloud) based system from scratch.
I was planning to develop an ecommerce website which might take me 8 months-12 months (I work on this project part time) to build the prototype. I haven’t decided yet if I can do that alone or with a 3-4 team of colleagues. The website will be owned by me or with 3-4 other colleagues. I believe if I am going to use the best resources I can find, the website might get hundred thousands of customers in the near future.
However, I am just an Application developer (3 years of Java experience) and I don’t know more about Architectural staffs. So, I am seeking an advice how to build this system from the scratch and make it available for customers before 2013.
I am also focused on the future challenges I might face. So, instead of building the system quickly which might fail in the future or might cost a lot of effort, time, and money to manage it, I would rather build it in a timely manner, carefully, and by using the entire available source I can afford.
Below are a list of things which you might consider giving me your advice on. • Using FreeSources (starting from IDE, to plugins and so on)
• How much effort, time and money should I budget.
• How to build the Architecture so that the system will be more extensible and easy to manage in the future.
• Which languages to use (am good @ OOP languages like Java, and a little bit of Grails)
• I also considered the app to be accessible via Mobile phones
• Making the system cloud based.
• Which Databases (either Schema based or Schema less) and Servers to consider.
• Security issues
• Should I use Test Driven Development?
• How about documentation?
• What frameworks to use, instead of inventing the wheels from the scratch. Like for security purpose I might consider Shiro framework, and so on.
• Use of patterns and algorithms.
• In the future if the project went well and needs some more experts, I planned to make it open source.
• How to use social networking features.
• And any of your comments.
• I would prefer if you are a professional and have an experience with different technologies in the past few years. Even if you tell me your past experience, I will appreciate that.Thank you for your time.
The old Joel on Software Business of Software discussion board might be a good place to ask.