DCN1 — DCN1 TASK 1: BACK-END APPLICATION PROGRAMMING BACK-END PROGRAMMING — D288 PRFA — DCN1 TASK OVERVIEW SUBMISSIONS EVALUATION REPORT COMPETENCIES
4085.1.1 : Develops Object-Oriented Applications
The learner develops object-oriented applications that can be integrated with relational databases.
4085.1.2 : Write Code
The learner writes code for object-oriented applications using Spring framework.
4085.1.3 : Implements Design Patterns
The learner implements design patterns for object oriented-applications.
Throughout your career in software design and development, you will be asked to create, customize, and maintain applications with various features and functionality based on business requirements. For this assessment, you will create a Spring Framework Java back-end for a web application using the solution statements provided in the requirements section of this assessment. The skills you showcase in your completed application will be useful in responding to technical interview questions for future employment. This application may also be added to your portfolio to show to future employers.
You will be building your project using IntelliJ IDEA (Ultimate Edition) in a WGU-provided lab environment in the LabFiles folder. You will be working with an existing MySQL database and Angular front-end, which are supplied for you in the lab environment. You will share this project to your GitLab repository and backup regularly. Use the GitLab link in the web links section to create your Gitlab project in the WGU GitLab space, and prior to starting your work, reference the “GitLab How-To” web link to set up your project.
Your submission should include the zip ﬁle with the project, a copy of the repository branch history ﬁle, and the URL to the GitLab repository. The zip ﬁle submission must keep the project ﬁle and folder structure intact for the IDE. In IntelliJ IDEA, go to File > Export > Project to Zip File and click OK to export your zip ﬁle.
Note: You may receive an error message upon submitting your ﬁles because the automated plagiarism detectors will not be able to access the zipped ﬁle, but the evaluation team members will run their checks manually when evaluating your submission.
Note: Do not modify the given Angular front-end for this project.
Your submission must be your own original work. You may not use or reference other students’ submissions for this task. For more information, please review our Academic Authenticity policies and the College of Information Technology Professionalism and Conduct Expectations.
You must use the rubric to direct the creation of your submission because it provides detailed criteria that will be used to evaluate your work. Each requirement below may be evaluated by more than one rubric aspect. The rubric aspect titles may contain hyperlinks to relevant portions of the course.
Tasks may not be submitted as cloud links, such as links to Google Docs, Google Slides, OneDrive, etc., unless speciﬁed in the task requirements. All other submissions must be ﬁle types that are uploaded and submitted as attachments (e.g., .docx, .pdf, .ppt).
A. Create a new Java project using Spring Initializr, with each of the following dependencies:
• Spring Data JPA (spring-boot starter-data-jpa)
• Rest Repositories (spring-boot-starter-data-rest)
• MySQL Driver (mysql-connector-java)
Note: Since the application properties will be empty, you will need to copy over the supplied application properties.
B. Create your subgroup and project by logging into GitLab using the web link provided and do the following:
• connect your new Java project
• commit with a message and push when you complete each of the tasks listed below (parts B to F, etc.)
Note: Any submissions that do not have a commit after each task will not be evaluated.
Note: You may commit and push whenever you want to back up your changes, even if a task is not complete.
• Submit a copy of the git repository URL and a copy of the repository branch history retrieved from your repository, which must include the commit messages and dates.
Note: Wait until you have completed all the following prompts before you create your copy of the repository branch history.
C. Construct four new packages, one for each of the following: controllers, entities, dao, and services. The packages will need to be used for a checkout form and vacations packages list.
Note: The packages should be on the same level of the hierarchy.
Note: Construct a package named conﬁg and copy the RestDataConﬁg.java provided in the laboratory environment to the package. Modify it so that the package and imports have the correct package and import addresses. Copy the application.properties ﬁle that is provided in the laboratory environment into your application properties resource ﬁle.
D. Write code for the entities package that includes entity classes and the enum designed to match the UML
E. Write code for the dao package that includes repository interfaces for the entities that extend
JpaRepository, and add cross-origin support.
F. Write code for the services package that includes each of the following:
• a purchase data class with a customer cart and a set of cart items
• a purchase response data class that contains an order tracking number
• a checkout service interface
• a checkout service implementation class
G. Write code to include validation to enforce the inputs needed by the Angular front-end.
H. Write code for the controllers package that includes a REST controller checkout controller class with a post mapping to place orders.
Note: You do not need to duplicate REST functionality for each repository by creating methods in Java.
I. Add ﬁve sample customers to the application programmatically.
Note: Make sure the customer information is not overwritten each time you run the application.
J. Run your integrated application by adding a customer order for a vacation with two excursions using the unmodiﬁed Angular front-end. Provide screenshots for the following:
• that your application does not generate a network error when adding the data
• your database tables using MySQL Workbench to show the data was successfully added
Note: The screenshot should include the front-end view and the inspection console in the browser.
K. Export your project from the IDE as a zip ﬁle.
Note: You will submit the zip ﬁle with the repository branch history ﬁle and the URL to the git repository to evaluation.
L. Demonstrate professional communication in the content and presentation of your submission.
File name may contain only letters, numbers, spaces, and these symbols: ! – _ . * ‘ ( ) File size limit: 200 MB
File types allowed: doc, docx, rtf, xls, xlsx, ppt, pptx, odt, pdf, txt, qt, mov, mpg, avi, mp3, wav, mp4, wma, ﬂv, asf, mpeg,
wmv, m4v, svg, tif, tiff, jpeg, jpg, gif, png, zip, rar, tar, 7z
A new Java project is not cre- ated using Spring Initializr.
The new Java project is created using Spring Initializr and in- cludes all 4 of the listed depen- dencies, but the project does not
run successfully or has errors.
The new Java project is success- fully created using Spring Initializr and includes all 4 of the listed dependencies.
A GitLab repository is not provided.
The subgroup and project are created in Gitlab, but the sub- mission does not include all 3 of the listed requirements, or some of the requirements contain
The subgroup and project are created in GitLab correctly and the submission includes all 3 of the listed requirements, and none of the requirements con- tain errors.
4 packages are not constructed.
4 new packages are constructed, but the submission is missing 1
or more of the 4 given packages,
or the packages are not appro- priate for a checkout form and vacations packages list.
4 new packages are accurately constructed, 1 for each of the 4 packages: controllers, entities, dao, and services. The packages are appropriate for a checkout form and vacations packages list.
|The code is not provided for the||COMPETENCE||The code provided for the enti-|
|entities package.||The code is provided for the en- tities package, but the code does||ties package includes entity classes designed to match the|
not accurately represent the
UML diagram. Or the code is not fully functional.
UML diagram. The code is fully functional.
The code is not provided for the dao package.
The code is provided for the dao package, but the code is missing some repository interfaces for the entities that extend the JpaRepository or does not in- clude any cross-origin support. Or the code is not fully
The code provided for the dao package includes repository in- terfaces for the entities that ex- tend the JpaRepository and adds cross-origin support. The code is fully functional.
The code is not provided for the services package.
The code is provided for the ser- vices package but does not in- clude 1 or more of the 4 given parameters. Or the code is not
The code provided for the ser- vices package includes all 4 of the given parameters. The code is fully functional.
The code to include validation is not provided.
The code is provided to include validation but does not include all of the validation that is needed by the Angular front- end. Or the code is not fully
The code provided includes all validation to enforce the inputs needed by the Angular front-end. The code is fully functional.
The code is not provided for the controllers package.
The code is provided for the controllers package but does not include a REST controller
The code is provided for the con- trollers package and includes a REST controller checkout con- troller class with a post mapping
checkout controller class. Or the class does not include a method with a post mapping to place or- ders. Or the code is not fully
to place orders. The code is fully functional.
No sample customers are added to the application.
Sample customers are added to the application, but fewer than
Five sample customers are added to the application. The sample data is added correctly.
The application does not run when adding a customer order for a vacation with 2 excursions.
The application runs when adding a customer order for a vacation with 2 excursions, but the application generates a net- work error when adding the data, does not save the data, or the Angular front-end was mod- iﬁed. Or the submission does
not provide clear or complete
screenshots, or 1 or both of the given requirements are incorrect.
The application runs successfully when adding a customer order for a vacation with 2 excursions while using the unmodiﬁed Angular front-end. Clear and complete screenshots are pro- vided that show both given re- quirements were completed correctly.
The project is not exported from the IDE as a zip ﬁle.
The project is exported from the
IDE as a zip ﬁle.
Content is unstructured, is dis- jointed, or contains pervasive errors in mechanics, usage, or grammar. Vocabulary or tone is unprofessional or distracts from the topic.
Content is poorly organized, is difﬁcult to follow, or contains er- rors in mechanics, usage, or grammar that cause confusion. Terminology is misused or ineffective.
Content reﬂects attention to de- tail, is organized, and focuses on the main ideas as prescribed in the task or chosen by the candi- date. Terminology is pertinent, is used correctly, and effectively conveys the intended meaning. Mechanics, usage, and grammar promote accurate interpretation
Integrated Development Environment – IntelliJ IDEA (Ultimate Edition) Sign up for free student account using WGU.edu email address.
Lab Environment Spring Initialzr GitLab How-To
GitLab Instructions Knowledge Base Article
Lab Knowledge Base Article
IntelliJ Ultimate Edition Directions.docx