diff --git a/L Boone Case Study Demo Screen Recording (9-3-2020 4-45-39 PM).wmv b/L Boone Case Study Demo Screen Recording (9-3-2020 4-45-39 PM).wmv new file mode 100644 index 000000000..01f877ad7 Binary files /dev/null and b/L Boone Case Study Demo Screen Recording (9-3-2020 4-45-39 PM).wmv differ diff --git a/L Boone Case Study Documentation.pdf b/L Boone Case Study Documentation.pdf new file mode 100644 index 000000000..447241922 Binary files /dev/null and b/L Boone Case Study Documentation.pdf differ diff --git a/README.md b/README.md index 8cdfa1bdd..a0b507655 100644 --- a/README.md +++ b/README.md @@ -1,69 +1,8 @@ -# Full Stack Web Application +# Full Stack Web Application URL +* https://github.com/Resilient08/java-case-study-task-app -* **Objective** - to create an implementation of a web service -* **Purpose** - to demonstrate the construction of a full-stacked web-application -* **Description** - * This Case Study is your first foray into building a full-stack application. You'll be building a Spring MVC based application, which means you'll learn about what it takes to build a functional application from the ground up yourself. - * This is exciting! It's a lot, but we've given you the tools to be able to build what you need, and you get to decide what you do with it. You also get to be creative in choosing what sort of application you want to build! - * You will be working individually to design your app. We hope you'll exercise creativity on this project, sketch some wireframes before you start, make sure you have time to run these ideas by your instructors to get their feedback before you dive too deep into coding! Remember to keep things small and focus on mastering the fundamentals. -* **Additional Resources** - * [The Original Case Study Document](./case-study.pdf) - * [Case Study Outline](./case-study-outline.pdf) - * [Case Study Deliverables](./README_deliverables.md) - * [Identifying Plagiarism](./README_plagiarism.md) - * [Suggested Project Topics](./README_suggested-project-topics.md) +# Demo Video recorded with iSpring Cam +# See full details on running project, Username and Password, etc. in Project Readme once accessing Github Link -## Minimum Features -* `RESTful` web service which consumes requests from a front-end web application and caches each request and the respective response to a database. -* The application must support a login functionality. - - - - -## Developmental Notes - -### Tech Stack Selection -* Select at least 1 technology from each of the following categories: - * **Version Control System** - 1. Github - 2. Bitbucket - - * **Wireframe** - 1. Mockflow - 2. Balsamiq - 3. Lucidcharts - - * **Frontend** - 1. Java Server Pages - - * **Business Logic** - 1. Java - 2. TypeScript - - * **WebServer Implementation** - 1. Spring Boot - 2. At least 1 [backing service](https://12factor.net/backing-services) API - - * **Data Layer** - 1. MySQL - 2. PostgreSQL - 3. MariaDB - - * **Web Server Cloud Deployment** - 1. Heroku - 2. AWS EC2 Instance - - * **Web Application Cloud Deployment** - 1. Netlify - 2. AWS EC2 Instance - - - - -### Installation -* It is advised that you make install each of the following technologies to ensure that are at least accessible - * Install [NodeJs](https://nodejs.org/en/). - * Install [Angular](http://angular.io/). - * Install [AngularCli](https://cli.angular.io/). diff --git a/README_deliverables.md b/README_deliverables.md deleted file mode 100644 index 4bb20a97f..000000000 --- a/README_deliverables.md +++ /dev/null @@ -1,52 +0,0 @@ -## Deliverables - -### Trello Board -* To begin your case study, create a Trello board -* Please ensure the instructor has access to this Trello board. -* This board will be used to track progress and evaluate required effort of tasks. -* Ensure the board has at least 5 columns accounting for each of the following - * `Ideation` - * This column will first contain cards describing a potential application to be built. - * Upon concept approval, this column will be re-purposed to describe potential features of the approved application. - * `Backlog` - * This column will contain cards describing work that **will not be** done in a near-future, but **must be done** eventually for the product to be considered completed - * `Upcoming` - * This column will contain cards describing work that **will not be** done in the current-sprint commitment, but **will be committed to** in the upcoming-sprint commitment. - * `Current` - * This column will contain cards describing work that **will be** done in the current-sprint commitment. - * `In Review - * This column will contain cards describing work that **need to be reviewed** to be considered **done**. - * `Completed` - * This column will contain cards describing work that has been reviewed and is considered completed - -### Database -* MariaDB is the suggested dialect -* This deliverable includes creating a database that reflects the website you have decided to create -* Schema diagram: a visual representation of your database -* Database file creation (`.sql`): Queries used to create the database - - -### Core Java & JPA -* This deliverable includes creating a back-end environment that is composed of different Java classes - * Models: Java classes that represent an entity and are used to transfer data related to an entity, create multiple queries, and represent the database as an object-oriented model - * Persistence.xml: This file configures the Java classes that are going to be using JPA to interact with the database. - * Persistence Java Class: A static class that allows the application to create a persistent object which can be used to interact with the database. - * Service Class or Data Access Objects (DAO): Java classes that are composed of one or more functions and have direct access to the database by using JPA persistent object. Each function in a DAO class interacts with the database differently. - * Custom Exceptions: Java classes that allow you to describe an error while the application is running. - * Utilizes: Java classes that hold constant variables (Variables that never change from its initial value). The value of these variables can be requested parameters, Database queries used in the DAO, name of HTML pages, or URL patterns to forward a request to. - - -### HTML5/CSS3 -* This deliverable includes creating every page required by the given case study -* HTML5: Use HTML for static and dynamic pages and markup the structure of every page. -* CSS3: Use CSS3 to style your HTML pages and make sure to take into consideration the knowledge acquired from the visual design lessons. - - -### Spring MVC -* This deliverable includes connecting no. 1, 2 and 3 deliverables to function together - * Spring MVC: Responsible for responding to a request made by the user. This can be login, registration, etc. When using Spring MVC make sure to use at least the following functionalities: different type of session management, annotation-based controller, exception handling, models, model attributes. - - -### Junit (Test all DAO classes) -* This deliverable includes creating a test class for each DAO available and creating a test case in the test class for each function inside the DAO - * Junit: A Java framework responsible for performing unit testing against every DAO class available. There should be a test class for every DAO and inside the test classes, there should be at least one test case for every function inside the DAO classes. When using JUnit make sure to use the following functionalities: Suite classes, Runner, Feature life cycle, Test, Parameterized classes, Java Hamcrest library. diff --git a/README_plagiarism.md b/README_plagiarism.md deleted file mode 100644 index 5b071dae3..000000000 --- a/README_plagiarism.md +++ /dev/null @@ -1,20 +0,0 @@ -### A Note on Plagiarism -* You are encouraged to ask others, including students, instructors, and StackOverflow, for help. However, it is NOT ACCEPTABLE TO COPY another person's code and submit it as your own. More importantly, it is detrimental to your learning and growth. -* All of the following are considered plagiarism or cheating: - * Turning in work that is not your own. - * Turning in someone else's work as your own. - * Hiring, or paying someone to do your work for you. - * Copying words or code without giving credit. - * Building or copying someone else’s idea without their knowledge or giving credit. - * Giving incorrect information about a source. - * Changing words, variable names, etc. but copying the code or files of a source without giving credit. - * Copying so many ideas or code blocks from a source that it makes up the majority of your work, whether you give credit or not. - * Failing to put a quotation in quotation marks. - - -* In an effort to not plagiarize, credit for this content goes to: -* [Plagiarism.org](plagiarism.org), specifically the “plagiarism 101” section. The content was adapted for the code. For more information, please see: - * [What is Plagiarism](http://www.plagiarism.org/plagiarism-101/what-is-plagiarism) - * [Types of Plagiarism](http://www.plagiarism.org/plagiarism-101/types-of-plagiarism) - * [How do I safely write code in my own 'words' and not plagiarize?](http://programmers.stackexchange.com/questions/80167/how-do-i-safely-write-code-in-my-own-words-and-not-plagiarize) - * [Avoiding Plagiarism: Writing Computer Code](http://www.upenn.edu/academicintegrity/ai_computercode.html) diff --git a/README_suggested-project-topics.md b/README_suggested-project-topics.md deleted file mode 100644 index 9b2ac965e..000000000 --- a/README_suggested-project-topics.md +++ /dev/null @@ -1,54 +0,0 @@ - -## Suggested Project Topics - -### (Suggested Project Topic 1) TCP Application - -#### User Stories to Fulfill -* As a client, (not logged in) I - * can send messages to a _peer_. - * can view default channels - * can view all accessible channels - * can view messages live as they are received - -