INFM 603 - Information Technology and Organizational Context
Project 2: Database Design and Implementation


As discussed in the project overview, the purpose of the INFM603 project is to demonstrate the ability to carry through on the design and implementation of a technology application in a team.   In Project 2, you will begin the implementation of your system by designing and implementing the back-end database as well as mapping out what will be required to complete the functionality for the use cases you have already considered.

            Step 1.   Technical approach and resource requirements.   Given what you have learned so far in the class and the capabilities of your team, you are to consider whether you need any additional resources (such as software installation or alternative servers) to complete the project.   By this time you should have explored what is available to you through the class – a virtual web server running the LAMP stack (Linux, Apache, MySQL, and Python) along with individual and group space and access.   You may, if you choose, use a different server (that you can arrange on your own) with different software.   You can also potentially use a content management system (CMS), in which case you’ll have to get some help configuring it, so this will have to be dealt with right away.   WordPress is already running on the server and Drupal and Joomla are potentially available, but you’ll need to get these configured early and there will be tradeoffs.

            You may also be aware that there are various Python and more general web development frameworks (e.g., Flask and Django) that could be used.    The reason these are not taught in INFM603 is that it could make the two weeks we spend on Python more complex.   If you want to explore such frameworks, you must note this prior to the project 2 due date so it can be confirmed that your goals will be doable.

            If you plan to use only the “standard” LAMP server, you do not need to turn anything in for this part.  If you make choices other than the “standard” ones, it is best that you discuss these with management, just to cover your rear end in case something goes wrong.    As you probably know, management is much less likely to penalize you for your mistakes if they become management’s mistakes, although this isn’t guaranteed.

            Step 2.   Design and build your database.  Design the tables you will need to complete your project.    All tables should be in third normal form and should support the range of requirements that you have identified.   Turn in to management a set of diagrams (in any reasonable format) showing the tables, fields, keys, and relationships.   Build the tables in the database using the PHPMyAdmin or SQL interface, and test the tables using some sample data.   Turn in a short report on the results of implementing the database, and any issues that you encountered.