Reference no: EM132404466
COMP1230 - Advanced Web Programming - George Brown College
Objectives
Upon completion of this assignment, students will be able to
- Use server-side scripting language PHP to implement a database-driven solution.
- Design, implement and test a solution based on the given requirements.
Overview
The accounting firm application you have implement requires an upgrade by integrating the flat file to the database. Your task is to replace the data storage from flat file to the MySQL database. There are no requirements for changing the interface, but there are a few new features you are asked to implement.
Requirements
All mentioned functionalities in the first project must stay intact. The only change to existing functionality is to covert the storage to the MySql database.
List of newly requested features.
- Implement authentication and authorization. The application must be password protected and unauthorized access to any page should be redirected to the login page showing an error message indicating login is required. (Please hard code the username and password in the login form for instructor access)
- Implement User management module: The module will be used to manage user account (company employee) who will have access to the application (from login form)
- Log all operations (add/update / view per model) on all four modules (User, Client, Notification, ClientEvent) Format: user , module name, action, DateTime, IP
- Add database backup feature. When backup (all table/data) is complete authorized users should be able to download the backup file. (each backup file must have a unique name)
- Restore the backup feature. An authorized user should be able to restore the database from backup file.
User characteristics (minim fields) to store:
• * First Name
• * Last Name
• * Email
• * Cell number
• * Position: Manager, Senior Accountant, Junior Accountant, Chartered Accountant, BookKeeper
• Username
• Password (must be hashed)
• Status - Suspended / Active
• Picture (file must be uploaded and resized - keep the original picture as well)