In order to provide accessibility, scalability, flexibility and robustness, the application should be built using the MVC (Model, View, and Controller) architecture.
This architecture facilitates the separation of the application code from presentation. Typically, the application code contains the business logic of your application, written and maintained in PHP code. This is the heart of your application. It is a bad practice to keep business logic and presentation at the same place. Presentation controls the view of the end user. This is the face of your application.
This architecture allows you to change the presentation without touching the business logic and changing the business logic without changing the view.
We will use MYSQL 5.0 Database. All the queries and tables can be migrated to Oracle in future if you want to scale the site.
Apache web server that runs on Linux will be used for the web server.
Linux 10.2 and Microsoft Windows will be used as the development environment.