'm currently a master degree student in Europe, in my final year and I need to develop an application for my dissertation thesis. I was thinking to develop a cloud business management app, something like netsuite.com solution(to give you an example). I want my app to support Supply Chain and Inventory Management, Procurement, Order and Billing Management, Customer Service Management etc.. Also I will have an heuristic algorithm to optimize the delivery routes for the clients. Besides that I need to create an administration module so that an administrator can create users and give them different permissions based on their department in which they work. Every user will have their custom dashboard with KPI's and a Menu where they will select their transactions etc... I did something similar in Windows Forms using C# and Visual Studio with a Windows SQL Server database, but now I want to develop a cloud/saas application. It is not mandatory to reuse the code from my previous app. I know to code in C, C++, C#. I have very good knowledge regarding OOP, memory management etc.. I don't know or I have little knowledge in PHP,Javascript,Java, HTML, CSS etc... I need some suggestions regarding what programming/scripting language to use for developing my app. I was thinking to use PHP with an Apache server and an Oracle database. My objectives are to have miniumum deployment costs, so that if i will have a client for my solution, the price will be low. First I need to design my website and I don't know which software to use for that, after i do that I need to code the interraction. My questions are: Can you recommend me a list of tools to create this web application ? What software should I use to create the design for my website ? Whay eclipse addons you recommend me ? Can I create this app using only php, or should I also use Java/C# ? Can you recommend me some books or learning material for what I want to develop ? What are the best-practices in developing an application like the one i want to create ? Thank you.
I'd be happy coding all that with Sublime Text 2 or Netbeans, filezilla and SQLYog I'd buy an existing admin theme and save time and know that the design will be cross-browser and all that. Your grade will be on your business processes not the design so that's definitely a corner to cut. I'd also recommend you use a framework for the basic mechanics of the site. I like CakePHP but there are others that are much more popular. Again, you are being graded on your implementation of business processes and not on stuff like MVC creation. You'll have rapid progress if you pick a framework and build from there. That's assuming the answer to the tools question included eclipse I'd have thought so, and PHP is dead easy to learn if you know any other languages. If you are looking at a low cost solution then drop Oracle and use MySQL. It's a robust database and there's no need for the extra cost of Oracle. Sorry! but there are lots of online tutorials to cover off the basics (and no doubt some of the fancy stuff too) I'd say data normalisation is the biggie. Understanding what you are working with and storing it properly so you can query it efficiently.[/QUOTE]
For an ecommerce website , you should try megento is the eCommerce software and platform trusted by the world's leading brands.
Agreed. This is essentially a database application. The db architecture and the queries are critical. For that reason, you should assume you will need to alter the db structure and queries as time goes on. While that won't happen in the short term, it will happen as a business uses the app and the unavoidable problems pop up, say due to some tables or queries being unable to keep up, causing a choke point. For that reason it is best practice to make each part of the app orthogonal to the rest. The mid tier logic should not affect the queries and db structure and vice versa. Likewise, the front end structure, appearance and behavior need to be orthogonal to each other and to the mid tier. I disagree on the value of MVCs, platforms, pre-built themes, etc. for the web. They are simply added bloat, adding little of value that isn't already easy to accomplish with only a good text editor. I also favor the thin client approach for this type of application, which my comments above support very well. PHP is the almost universal choice for the mid tier. If you're going to do a lot of fp math on the data, you're likely going to want another, more math oriented language (python?) to do that and then hand the results to php to do its thing. Likewise, the heuristics probably would do better in a more suitable language like lisp. cheers, gary
Given that the OP sees a life for the project beyond the academic assessment I'd say the language is very important If he chooses Java or Ruby then his clients may find hosting options are limited or more expensive If he goes open source and uses PHP he may find there is a bigger community contributing plugins and add ons If he wants to use Github etc he may be limited in the types of files he can commit Are those concerns reasonable @Rahmat2900 ?