程序代写代做 159.339 Internet Programming Albany 2019 Semester 2

159.339 Internet Programming Albany 2019 Semester 2
Assignment 2
Deadline:
4 October 2019, 9pm
Evaluation:
25 marks  which is 15 % of your final grade
Late submission:
Late submissions will be penalised
Teams:
The assignment can be done in teams of 3 students
Purpose:
PHP/MySQL, MVC, ORM, Relational database design, persistence, OO
Task
Your task is to create a PHP/MySQL application for First National Bank s internet banking system.
The exact specifications are open and for you to decide. For example, the system could offer the following functionality to a customer:
” log-in/join/log-out
” open/close accounts
” view a list of accounts (along with the current balance for each)
” view a detailed list of transactions for a selected account (date/time,
amount, transaction type)
” perform transactions (deposit/withdraw/transfer) on a given account
” filtering (e.g. of accounts by id or transactions by type)
” sorting of transactions by date, asc/desc order
” etc etc etc
You can implement as little or as much as you desire, but you MUST demonstrate your understanding of the following concepts through their practical application:
” Data modelling
” Model-View-Controller architecture
” Object-Relational mapping
” Relational database design and normalisation
” Persistence via Sessions/Cookies
” Object-oriented programming
Front-end HTML does not need to be styled, it just needs to be functional. However, you are free to style it as you wish and can use Bootstrap or any other appropriate tools.
On Stream you will find an example MVC application to get you started. Please use it as a base for your code.
Database connection. Please use database name a2 and access it using user root with password root.
Hint: It is better to have more limited scope in terms of functionality, but pay more attention to design and implementation details.

159.339 Internet Programming Albany 2019 Semester 2
Groups
You can work in groups with up to 3 members (highly recommended). You can use stream forum to look for groups to join or for new members for your group. If you need help finding group members  please let me know.
Hand-in
Use stream to submit your files packaged into one zip file.
Arrange your files in the following way:
” Controllers in controller subdirectory
” Models in model subdirectory
” Views in view subdirectory
Your front controller must be called index.php.
Use of Docker is essential.
Your code must create your database (if it doesn t exist) and populate it with the required tables and sample data.
Your submission must include:
” All code required to run your application
” A report detailing your application s
o Specifications
o Design choices
o Databaseschemaandrelationships
o Installation instructions  if any.
o Instructions for end-user (with screenshots for clarity if needed)
Do not include:
” Composer s vendor directory
” Mysql database files
Write each group member s FAMILY NAME, ID NUMBER and assignment number at the beginning of index.php.
Your code must be PHP 7.3 and MySQL 8 compatible.
You must follow coding style guidelines set forward by PSR-1 and PSR-12
standards  please refer to http://www.php-fig/psr/.
Start by examining composer.json, index.php and all the classes in the provided example.

159.339 Internet Programming Albany 2019 Semester 2
Grading rubric
MVC Architecture
Not used.
0 points
MVC is somewhat understood
3 points
Good attempt at MVC use
4 points
Perfect example of MVC design
5 points
Object- Relational mapping
Not used.
0 points
Some understanding of ORM
1 points
ORM is implemented but has some problems
2 points
Good ORM implementation 3 points
RDB design
Very poor undertanding. 0 points
Multiple tables, but no relationships. 1 points
OK tables and relationships design but not normalised.
2 points
Good normalised design.
3 points
HTTP Persistence
Not used.
0 points
Implemented, but with major flaws. 1 points
Implemented, but has some flaws.
2 points
Well implemented. 3 points
OO design
Not used.
0 points
Used but has major flaws 1 points
Used but has some flaws 2 points
Well applied
3 points
Readability, Consistency & Naming
Code is poorly organised and difficult to read 0 points
Coding style guidelines are not followed and/or code is less readable than it should be.
1 points
Coding style guidelines are almost always followed correctly. Names are consistent in style and expressive. Problems with isolated cases.
2 points
Guidelines are followed and code is exceptionally easy to read.
3 points
Report
No report
0 points
Some crucial parts missing and/or hard to understand
2 points
Some parts are missing and/or unclear
4 points
Well Done
5 points