CS案例之 Web PhP UTD CS Course Manager PHP Programmin
当前位置:以往案例 > >CS案例之 Web PhP UTD CS Course Manager PHP Programmin
2017-12-08

Submission requirements.

Submit (1) a word document (this file with your answers and listing of any program & its run [log or screenshots]) and (2) a zip file of a folder which will contain all the codes (all the source codes, data and any other items related to this project and your work done).


This word document (this file) is your documentation (as a basis to add your answers) to be included here – all your answers, all your program-listings, instructions to compile and run [screen-shots, terminal text, or session log] to show your work done, including how to compile and run for each cases.


The word file should also have (1) in header with the course & section number, your name (Name: last name, first name), your netID (email), and project #, (2) in footer with page number, (3) line number (restart from each page in left margin. Page Layout => Line Numbers). (4) Your program should have some comments (minimal or reasonable), to tell the code-reader what a segment of code is doing, and with the comment in the front/head of the program about you, this course and project, etc. (you may copy and paste some out of this document for your comment).


** Your executable codes (that you submit) should run in cs1 without any change or recompilation.

** Bring this cover sheet (this page) to TA for your demo.


Upload (attach) this document (with your answers) and a zip file (containing all the codes [source and data, etc.]).


Score-sheet

Part1 30% PHP

(1)

(2)

(3)

(4)

(5)

(6)

Part2 40%

MySQL AJAX

(1)

(2)

(3)

(4)

(5)

(6)

Part3 25%

XML JSON REST

(1)

(2)

(3)

(4)

(5)

(6)


Deduction – Documentation (this .doc file) and upload

Max -10% if not done or poorly prepared

Deduction for Demo (Demo schedule or arrangement will be scheduled by TA, for your demo).

(Note. You do the demo only for the part(s) that you have done and submitted.)

Max -10%.



CLO – After successful completion of this course, the student should be able to:

1. Ability to understand web architecture, standards, protocols, tools, and technologies

2. Ability to understand HTML, HTML5 and CSS.

3. Ability to understand JavaScript, JQuery, AJAX, XML, JSON

4. Ability to understand Database Technologies and SQL

5. Ability to understand Server-side programming with PHP

6. Ability to understand Web Services SOAP and RESTful Web Services

7. Ability to understand Web Security Protocols & Standards Semantic Web




[Place Table of Contents (of this document) here]


[Note. For how to insert TOC in a word document. Check

https://support.microsoft.com/en-us/help/285059/how-to-create-a-table-of-contents-by-marking-text-in-word ]




UTD CS Course Manager
We are working on UTD CS Catalog manager as a professional web programmer working with Xampp.


The UTD CS course list is available: https://catalog.utdallas.edu/2018/graduate/courses/cs


Task#1. Create a directory (course1) in Xampp for this project. You should upload this directory (with all its contents – all the files and all subdirectories) in the zip file for this project. You should include all the saved sql files (in Task#1) in a subdirectory (course1/sql) so that the sql files will be also a part of the zip file to be uploaded, and also upload your documentation (this word document).



PART 1.
PHP Programming using Xampp.


For submission, upload this directory (with all its contents – all the files and all subdirectories, and SQL export file to reconstruct the database and all the tables) in the zip file for this project.


course1.php
The manager of cs department hired you to be the web developer. Your first project is to design and implement a PHP program to do the following tasks to do:


Task1. Provide log-in and log-out capability. After a successful log-in, the main menu will show the following options (including log-out button).


Task2. Read course web page (UTD CS course information from the catalog).

The UTD CS course list is available: https://catalog.utdallas.edu/2018/graduate/courses/cs


Task3. After reading is done, each of the course entries is to be extracted, converted and saved in a file (in ./course1/data/filename where the filename is specified below):


(1) to save all the course information (HTML document) in a file (course1.html) from (1)

(2) to save all the course information (XML document) in a file (course2.xml) from (1)

You need to design XML tags for this task

(3) to save all the course information (SQL document) in a file (course3.sql) from (1)

You need to design SQL tables: course information, prerequisite course(s)

(4) to save all the course information (PHP script) in a file (coures4.php) from (4) to be run

(to create and populate course and prerequisite tables).

(5) to save all the course information (JASON document) in a file (course5.jason) from (1)


(6) to provide selenium test cases (and copy all selenium test case or suite in /course1/selenium)


Note. You may do one task of which the output could be used for the other task (e.g. conversion).


CS 6314 Web Programming Languages (3 semester credit hours) Advanced understanding of web architecture, standards, protocols, tools, and technologies. Tools required for web programming including HTML, CSS, and JavaScript; XML and database technologies; server-side programming using PHP; Web security protocols and standards; techniques and algorithms related to web services, cloud computing, and semantic web. Prerequisite: CS 5343. (3-0) S



CS 6314 Web Programming Languages (3 semester credit hours) Advanced understanding of web architecture, standards, protocols, tools, and technologies. Tools required for web programming including HTML, CSS, and JavaScript; XML and database technologies; server-side programming using PHP; Web security protocols and standards; techniques and algorithms related to web services, cloud computing, and semantic web. Prerequisite: CS 5343. (3-0) S


// You may need to have a separate table for prerequisite courses of a course

CREATE TABLE `courses` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`number` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,

`prefix` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,

`name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,

`description` text COLLATE utf8_unicode_ci,

`created_at` datetime NOT NULL,

`updated_at` datetime NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=73 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;


INSERT INTO `courses` VALUES

(1,'5301', 'CS', 'Professional and Technical Communication', 'CS 5301 utilizes an integrated approach to writing and speaking for the technical professions.  The advanced writing components of the course focus on writing professional quality technical documents such as proposals, memos, abstracts, reports, letters, emails, etc.  The advanced oral communication components of the course focus on planning, developing, and delivering dynamic, informative and persuasive presentations.  Advanced skills in effective teamwork, leadership, listening, multimedia and computer generated visual aids are also emphasized.  Graduate students will have a successful communication experience working in a functional team environment using a real time, online learning environment.', '2018-06-01 04:27:32', '2018-06-01 04:27:32'),





Part1 Code and Output
List of course1.php source code.
course1.php





Task#3


List each of the output files

course1.html





course1.xml





course1.sql





course1.php





course1.jason





Task4. Provide selenium test cases (screenshots) and upload test case file for each case.





Upload all the files and subdirectories (./course1) in your zip file.

./course1

./course1/data/

./course1/sql/

./course1/selenium/




PART 2.
PHP Programming using Xampp – Web Services with MySQL and AJAX.


We create a directory (course2) in Xampp for this project.


For submission, upload this directory (with all its contents – all the files and all subdirectories, and SQL export file to reconstruct the database and all the tables) in the zip file for this project.



course2.php

The manager of cs department wants you to do the second project. It is to design and implement a PHP program to provide PHP server for the CS course information, providing the following functions. Doing so, a table for "course prerequisite" table should be design and implemented with "course" table to provide the proper dependency relationship.


Your project is to design and implement each task as a php program (or more than one file) and to provide also selenium test case for each task to be tested.


Task1. Provide Web security with (a) login and logout, (b) cookie and session, and (c) keep the log of login and logout of each user in MySQL database table. Also provide a table to handle userid and password and a few sample userid-password record (for example, userid=user1/passwd=user1, and so on) for this exercise and the password should be encrypted with CRYPT_SHA512.

Note. For various PHP crypt functions: http://php.net/manual/en/function.crypt.php


Task2. After a successful log-in, the main menu will show the following options (and log-out button).


(1) Client to browse all the courses


(2) Client to add a new course


(3) Client to delete a course


(4) Client to update a course


(5) Client to search a course. Provide search capability for a course with (a) course number, (b) course title, or (c) course prerequisite. Provide AJAX auto-complete and/or suggestion list as you type a query string for search. Client searches a course with each field value (partial) and to provide auto-complete (ajax) capability or to show the list of possible candidates in search. You may use the sample code in www07 as your base.


Note. You may get the course information from any of the options (with any output in Part1) to start this service (or web resource) initialized.


(6) Provide selenium test-case for each of the tasks.

Part2 Code and Output
List of code.
code listing





(1) Program run


Screenshots





Selenium test case scenario





Program run and testing.

(1) Client to browse all the courses

(2) Client to add a new course

(3) Client to delete a course

(4) Client to update a course

(5) Client – search with AJAX

(6) Selenium test case for each task to be tested.


Upload all the files and subdirectories (./course2) in your zip file.

./course2

./course2/sql/

./course2/selenium/

and other as you may have created for this part.




PART 3.
PHP Programming using Xampp – Web Services with XML, JSON or REST


We create a directory (course3) in Xampp for this project. You should upload this directory (with all its contents – all the files and all subdirectories) in the zip file for this project.


course3.php


The manager of cs department wants you to do the second project. It is to design and implement a PHP program to provide a XML, JSON or REST server for the CS course information, providing the following functions.


Task1. Provide Web security with (a) login and logout, (b) cookie and session, and (c) keep the log of login and logout of each user in MySQL database table. Also provide a table to handle userid and password and a few sample userid-password record (for example, userid=user1/passwd=user1, and so on) for this exercise and the password should be encrypted with CRYPT_SHA512.

Note. For various PHP crypt functions: http://php.net/manual/en/function.crypt.php

You may design and implement each task as a php program (or more than one file).



Task2. After a successful log-in, the main menu will show the following options (and log-out button).


(1) Client to list all course


(2) Client to search a course and display it


(3) Client to add a new course


(4) Client to delete a course


(5) Client to update a course



Note. You may get the course information from any of the options (with any output in Part1) to start this service (or web resource) initialized.


(6) Provide also selenium test case for each task to be tested.




Part3 Code and Output
List of code.
code listing




Program run


Screenshot





Selenium test case scenario





Task2 program run.

(1) Client to list all course

(2) Client to search a course and display it

(3) Client to add a new course

(4) Client to delete a course

(5) Client to update a course

(6) Provide also selenium test case for each task to be tested.


Upload all the files and subdirectories (./course2) in your zip file.

./course2

./course2/sql/

./course2/selenium/

and other as you may have created for this part.



在线提交订单