The Tech Club is web application written in PHP for a fictional IT learning club. It uses Apache for the web server, PostgreSQL for the database, and Bootstrap as the frontend library.
The Tech Club was written as learning exercise to expand my knowledge of PHP and Bootstrap among other things. It is not pretty compared to businessConfig, which came later and has a proper 3rd party design, but it shows some nice PHP techniques and logical code organization. I have moved information about the Tech Club PostgreSQL database to a separate project in order to limit the amount of information shown here.
This project was originally conceived as an end-to-end guide, and I wrote several pages of explanations of thought processes and the techniques used. Those pages relating mainly to the web application are listed below.
Note that these pages were written when this project was intended to be a guide for inexperienced web and database developers. I have left them here in case they are still of value to someone.
|Project requirements and analysis||Read the project requirements as stated by the fictional client, and break them down into technical implications.|
|Site outline and URL plan||Form an outline of the site, and decide how URLs will be matched to functionality.|
|Processes and admin URLs||Describe the processes the application will handle, and which admin screens would be needed to support these processes.|
|Folder structure||Explain the use of each folder in the structure.|
|Response framework||Explain how each response is created and how the URL mapping works.|
|Database connection||Describe how the connection to the database works, including the use of a single connection class and various model subclasses.|
|Forms and emails||Demonstrate how forms are used in the website using the Contact form. Also show form validation and the email system.|
|Authentication||List and describe all authentication processes, including login, logout, change email, change password, etc.|
|List filtering and paging||Show how lists of records are filtered and how the custom paging system works.|
|Modal forms||Show how records are edited and deleting using modal forms.|
|Modal forms: API and AJAX||Improve the implementation of modal forms by creating an API and making AJAX calls to it.|
|X-editable||Show how some text fields are editing with an Ajax call using the x-editable library.|
|Profile image uploads||Allow the user to upload profile images without making the images searchable.|
|Error handling||Show how some common database-related errors are handled by the website.|
|Local testing||Explain how all components are tested locally before the website is deployed.|