From 6383832d26392a4c992925105b83f245635ee754 Mon Sep 17 00:00:00 2001 From: PhillipKinney <64390223+PhillipKinney@users.noreply.github.com> Date: Wed, 23 Sep 2020 10:25:17 -0400 Subject: [PATCH 01/19] Create README_casestudy.ddemployeemanagement --- README_casestudy.ddemployeemanagement | 1 + 1 file changed, 1 insertion(+) create mode 100644 README_casestudy.ddemployeemanagement diff --git a/README_casestudy.ddemployeemanagement b/README_casestudy.ddemployeemanagement new file mode 100644 index 000000000..f45b19257 --- /dev/null +++ b/README_casestudy.ddemployeemanagement @@ -0,0 +1 @@ +https://github.com/PhillipKinney/casestudy.fullstack_webapplication.git From 8a23bb4ed03dee05252ec60e190293dc4f052ff9 Mon Sep 17 00:00:00 2001 From: PhillipKinney <64390223+PhillipKinney@users.noreply.github.com> Date: Wed, 23 Sep 2020 14:34:06 -0400 Subject: [PATCH 02/19] Delete README_casestudy.ddemployeemanagement --- README_casestudy.ddemployeemanagement | 1 - 1 file changed, 1 deletion(-) delete mode 100644 README_casestudy.ddemployeemanagement diff --git a/README_casestudy.ddemployeemanagement b/README_casestudy.ddemployeemanagement deleted file mode 100644 index f45b19257..000000000 --- a/README_casestudy.ddemployeemanagement +++ /dev/null @@ -1 +0,0 @@ -https://github.com/PhillipKinney/casestudy.fullstack_webapplication.git From 37354236df8170872c91b5963cf7942de881f3ca Mon Sep 17 00:00:00 2001 From: PhillipKinney <64390223+PhillipKinney@users.noreply.github.com> Date: Wed, 23 Sep 2020 14:34:49 -0400 Subject: [PATCH 03/19] Create README_casestudy.ddemployeemanagement --- README_casestudy.ddemployeemanagement | 1 + 1 file changed, 1 insertion(+) create mode 100644 README_casestudy.ddemployeemanagement diff --git a/README_casestudy.ddemployeemanagement b/README_casestudy.ddemployeemanagement new file mode 100644 index 000000000..41f378335 --- /dev/null +++ b/README_casestudy.ddemployeemanagement @@ -0,0 +1 @@ +Link to repository containing my project: https://github.com/PhillipKinney/casestudy.ddemployeemanagement From 06c4f6841cf80bca4423a4de29931341468634bb Mon Sep 17 00:00:00 2001 From: PhillipKinney <64390223+PhillipKinney@users.noreply.github.com> Date: Wed, 23 Sep 2020 14:35:15 -0400 Subject: [PATCH 04/19] Delete README_casestudy.ddemployeemanagement --- README_casestudy.ddemployeemanagement | 1 - 1 file changed, 1 deletion(-) delete mode 100644 README_casestudy.ddemployeemanagement diff --git a/README_casestudy.ddemployeemanagement b/README_casestudy.ddemployeemanagement deleted file mode 100644 index 41f378335..000000000 --- a/README_casestudy.ddemployeemanagement +++ /dev/null @@ -1 +0,0 @@ -Link to repository containing my project: https://github.com/PhillipKinney/casestudy.ddemployeemanagement From 1eb72e3fd7f0fa514ccc7e610927528c19bb5296 Mon Sep 17 00:00:00 2001 From: PhillipKinney <64390223+PhillipKinney@users.noreply.github.com> Date: Wed, 23 Sep 2020 14:35:47 -0400 Subject: [PATCH 05/19] Create link_to_casestudy_repository --- link_to_casestudy_repository | 1 + 1 file changed, 1 insertion(+) create mode 100644 link_to_casestudy_repository diff --git a/link_to_casestudy_repository b/link_to_casestudy_repository new file mode 100644 index 000000000..569b8a212 --- /dev/null +++ b/link_to_casestudy_repository @@ -0,0 +1 @@ +https://github.com/PhillipKinney/casestudy.ddemployeemanagement From 9510bdf795c8f795efd30f25f45af49b6ab21fcf Mon Sep 17 00:00:00 2001 From: PhillipKinney <64390223+PhillipKinney@users.noreply.github.com> Date: Wed, 23 Sep 2020 14:37:00 -0400 Subject: [PATCH 06/19] Create README_link_to_casestudy_repository --- README_link_to_casestudy_repository | 1 + 1 file changed, 1 insertion(+) create mode 100644 README_link_to_casestudy_repository diff --git a/README_link_to_casestudy_repository b/README_link_to_casestudy_repository new file mode 100644 index 000000000..569b8a212 --- /dev/null +++ b/README_link_to_casestudy_repository @@ -0,0 +1 @@ +https://github.com/PhillipKinney/casestudy.ddemployeemanagement From 3032d6ec51297378996f9cd38ec1c9cb747a3462 Mon Sep 17 00:00:00 2001 From: PhillipKinney <64390223+PhillipKinney@users.noreply.github.com> Date: Thu, 24 Sep 2020 14:02:55 -0400 Subject: [PATCH 07/19] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 5c0a1e7fa..896b3e7ae 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Full Stack Web Application +*My case study lives here: My Case Study lives here: https://github.com/PhillipKinney/casestudy.ddemployeemanagement + * **Objective** - to create an implementation of a web service * **Purpose** - to demonstrate the construction of a full-stacked web-application * **Description** From 59a26509c2bac4665d544aade629d4367a0e692e Mon Sep 17 00:00:00 2001 From: PhillipKinney <64390223+PhillipKinney@users.noreply.github.com> Date: Sat, 26 Sep 2020 00:08:46 -0400 Subject: [PATCH 08/19] Update link_to_casestudy_repository --- link_to_casestudy_repository | 1 + 1 file changed, 1 insertion(+) diff --git a/link_to_casestudy_repository b/link_to_casestudy_repository index 569b8a212..9b93f1e35 100644 --- a/link_to_casestudy_repository +++ b/link_to_casestudy_repository @@ -1 +1,2 @@ https://github.com/PhillipKinney/casestudy.ddemployeemanagement +Application has been deployed to Heroku: https://dry-atoll-35480.herokuapp.com From 3d0c29ef55ab9663ad27277ffa88352d7e1631b2 Mon Sep 17 00:00:00 2001 From: PhillipKinney <64390223+PhillipKinney@users.noreply.github.com> Date: Sat, 26 Sep 2020 00:09:32 -0400 Subject: [PATCH 09/19] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 896b3e7ae..db02acc16 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # Full Stack Web Application *My case study lives here: My Case Study lives here: https://github.com/PhillipKinney/casestudy.ddemployeemanagement +* Application has been deployed to Heroku: https://dry-atoll-35480.herokuapp.com + * **Objective** - to create an implementation of a web service * **Purpose** - to demonstrate the construction of a full-stacked web-application From 322a90c186ee6132b5d339c8918efd098dd3dea4 Mon Sep 17 00:00:00 2001 From: PhillipKinney <64390223+PhillipKinney@users.noreply.github.com> Date: Sat, 26 Sep 2020 00:10:31 -0400 Subject: [PATCH 10/19] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index db02acc16..91ad7e073 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Full Stack Web Application -*My case study lives here: My Case Study lives here: https://github.com/PhillipKinney/casestudy.ddemployeemanagement -* Application has been deployed to Heroku: https://dry-atoll-35480.herokuapp.com +* **My case study lives here: My Case Study lives here: https://github.com/PhillipKinney/casestudy.ddemployeemanagement** +* **Application has been deployed to Heroku: https://dry-atoll-35480.herokuapp.com** * **Objective** - to create an implementation of a web service From 3435ec7b0d0ad960e03c431c4525644acc712c8d Mon Sep 17 00:00:00 2001 From: PhillipKinney <64390223+PhillipKinney@users.noreply.github.com> Date: Sat, 26 Sep 2020 00:11:24 -0400 Subject: [PATCH 11/19] Update link_to_casestudy_repository --- link_to_casestudy_repository | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/link_to_casestudy_repository b/link_to_casestudy_repository index 9b93f1e35..5ba6b36a6 100644 --- a/link_to_casestudy_repository +++ b/link_to_casestudy_repository @@ -1,2 +1,2 @@ -https://github.com/PhillipKinney/casestudy.ddemployeemanagement -Application has been deployed to Heroku: https://dry-atoll-35480.herokuapp.com +* **https://github.com/PhillipKinney/casestudy.ddemployeemanagement** +* **Application has been deployed to Heroku: https://dry-atoll-35480.herokuapp.com** From a4c6b15bf633e28ecd40139dbd3389c0c5b42a6f Mon Sep 17 00:00:00 2001 From: PhillipKinney <64390223+PhillipKinney@users.noreply.github.com> Date: Sat, 26 Sep 2020 00:11:59 -0400 Subject: [PATCH 12/19] Update link_to_casestudy_repository --- link_to_casestudy_repository | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/link_to_casestudy_repository b/link_to_casestudy_repository index 5ba6b36a6..550ecd5b2 100644 --- a/link_to_casestudy_repository +++ b/link_to_casestudy_repository @@ -1,2 +1,2 @@ -* **https://github.com/PhillipKinney/casestudy.ddemployeemanagement** -* **Application has been deployed to Heroku: https://dry-atoll-35480.herokuapp.com** +Repository: https://github.com/PhillipKinney/casestudy.ddemployeemanagement +Application has been deployed to Heroku: https://dry-atoll-35480.herokuapp.com From 6b2be4557bb2acbc8f12d5efcb9eb2f42a078708 Mon Sep 17 00:00:00 2001 From: PhillipKinney <64390223+PhillipKinney@users.noreply.github.com> Date: Sat, 26 Sep 2020 00:13:06 -0400 Subject: [PATCH 13/19] Update README_link_to_casestudy_repository --- README_link_to_casestudy_repository | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README_link_to_casestudy_repository b/README_link_to_casestudy_repository index 569b8a212..809642a6b 100644 --- a/README_link_to_casestudy_repository +++ b/README_link_to_casestudy_repository @@ -1 +1,2 @@ -https://github.com/PhillipKinney/casestudy.ddemployeemanagement +* **Repository: https://github.com/PhillipKinney/casestudy.ddemployeemanagement** +Application has been deployed to Heroku: https://dry-atoll-35480.herokuapp.com From 839c4e6c7f35798cb2e29c7c81b92c1bb02d209e Mon Sep 17 00:00:00 2001 From: PhillipKinney <64390223+PhillipKinney@users.noreply.github.com> Date: Sat, 26 Sep 2020 00:13:18 -0400 Subject: [PATCH 14/19] Update README_link_to_casestudy_repository --- README_link_to_casestudy_repository | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README_link_to_casestudy_repository b/README_link_to_casestudy_repository index 809642a6b..550ecd5b2 100644 --- a/README_link_to_casestudy_repository +++ b/README_link_to_casestudy_repository @@ -1,2 +1,2 @@ -* **Repository: https://github.com/PhillipKinney/casestudy.ddemployeemanagement** +Repository: https://github.com/PhillipKinney/casestudy.ddemployeemanagement Application has been deployed to Heroku: https://dry-atoll-35480.herokuapp.com From 8d09f87b0d38d6964eebafa826868bba7a964160 Mon Sep 17 00:00:00 2001 From: PhillipKinney <64390223+PhillipKinney@users.noreply.github.com> Date: Sat, 26 Sep 2020 10:27:46 -0400 Subject: [PATCH 15/19] Update README.md --- README.md | 76 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 40 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 91ad7e073..322f10322 100644 --- a/README.md +++ b/README.md @@ -7,21 +7,31 @@ * **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. + * I decided to build an blog and employee management system for my blog. + * The system allows users to perform CRUD operations on employees and on blog posts. + * The system allow users to register and sign in to the application. + * **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) + * [Custom Sign-in page tutorial that I used]https://www.youtube.com/watch?v=_5sAmaRJd2c + * [Management System Tutorital]https://www.youtube.com/watch?v=Hk70e7KR290 This is link is to the first video of an 8 part series that I followed. All otehr vidoes can be accessed from this one + +* **How To Access/Use Program** + * Program can be accessed by navigating to https://dry-atoll-35480.herokuapp.com + * From here you can register to be come a user. + * After registering, click on "login" located below the registration screen to be taken to the login in screen. + * Use the credentials you just created to signin + * After signin you land at the main menu page + * Here you can select which operation you would like to perfrom + *Please see video for full application walkthrough + https://youtu.be/MVr9_AnhBOc -## 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. +## Features +* Log in feature using Spring Security +* Passowrd encryption (BCrypt) +* CRUD operations for posts and employees +* Nav Bar Navigation at the top of each page @@ -32,44 +42,38 @@ * 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 + 1. draw.io * **Frontend** - 1. Angular - 2. React - 3. Vue.JS + 1. Thymeleaf + 2. HTML + 3. CSS * **Business Logic** 1. Java - 2. TypeScript + * **WebServer Implementation** 1. Spring Boot - 2. At least 1 [backing service](https://12factor.net/backing-services) API + 2. * **Data Layer** - 1. MySQL - 2. PostgreSQL - 3. MariaDB + 1. MySQL (on my local machine) + 2. Heroku in memory db (once deployed) * **Web Server Cloud Deployment** 1. Heroku - 2. AWS EC2 Instance + + ##Challenges + 1. Wanted to set up author as type User in Posts class, but had issues figuring out how to pass that from the front end since controller was looking for entire User object and not just a the name of user. Tried to do user.firstName but it did not work so I changed type to String + 2. Wanted to add department as a field of the Employee Class, but had issues similar to #1 + 3. Project actually started as blog, but had issues with tutorials I was loking into, so I changed it to an employee mangement system. After following the management system I realized I could much of the same logic to create an MVP for my blog. + 4. I could not get dateCreated to auto generate for Post. Also had Date issues with hireDate in the Employee Class. It didn't even dawn on me at the time that I could have used Date methods to format the date. + + ##Deferred to v2 + 1. Address Challenges mentioned above + 2. Assign roles to users - * **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/). From 47771f8b876bc29aed08760c09c19999aa5bd527 Mon Sep 17 00:00:00 2001 From: PhillipKinney <64390223+PhillipKinney@users.noreply.github.com> Date: Sat, 26 Sep 2020 10:43:43 -0400 Subject: [PATCH 16/19] Update README.md --- README.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 322f10322..c276bdbea 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ * **My case study lives here: My Case Study lives here: https://github.com/PhillipKinney/casestudy.ddemployeemanagement** * **Application has been deployed to Heroku: https://dry-atoll-35480.herokuapp.com** - +* **Video Walkthough of how to use application can be found here: https://youtu.be/MVr9_AnhBOc * **Objective** - to create an implementation of a web service * **Purpose** - to demonstrate the construction of a full-stacked web-application @@ -51,6 +51,7 @@ 1. Thymeleaf 2. HTML 3. CSS + 4. Bootstrap 4 * **Business Logic** 1. Java @@ -58,7 +59,7 @@ * **WebServer Implementation** 1. Spring Boot - 2. + 2. Spring Security * **Data Layer** 1. MySQL (on my local machine) @@ -72,8 +73,15 @@ 2. Wanted to add department as a field of the Employee Class, but had issues similar to #1 3. Project actually started as blog, but had issues with tutorials I was loking into, so I changed it to an employee mangement system. After following the management system I realized I could much of the same logic to create an MVP for my blog. 4. I could not get dateCreated to auto generate for Post. Also had Date issues with hireDate in the Employee Class. It didn't even dawn on me at the time that I could have used Date methods to format the date. + 5. When deploying to Heroku, my GitBash would not run the `create heroku` command. The CLI would freeze after loggin me in to Heroku. Thanks to stackoverflow, I learned how to change the shell of my terminal in Intellij to accept Git commands and run the needed Heroku commands. + 6. Not sure if this qualifies as a challenge, but I am not sure why my data is persisting with Heroku. I intalled JawsDB to my Heroku account, but did not configure it. The data that put on Heroku on 9/25/20 was still there on 9/26/20. Since I was under the impression that data would not persist (and I am not yet sure sure why it is) I added dummy data to the ProjectConfig file so that in case data does not persist, the blog posts page will have data on each run. However, with data currently persisting, this causes data to be loaded multiple time. I will investigate this further as I work on v2. ##Deferred to v2 1. Address Challenges mentioned above - 2. Assign roles to users + 2. Assign Roles to Users + 3. Set up JawsDB on Heroku. + 4. After registration, login page loads instead of registration page + 5. Add space between top right nav bar buttons on new_employee, new_post, posts_home pages + 6. Refactor names of index and index2 Thymeleaf templates to more closely match their intentions + From 86df90d27af767337319052b1698a18dc48dd606 Mon Sep 17 00:00:00 2001 From: PhillipKinney <64390223+PhillipKinney@users.noreply.github.com> Date: Sat, 26 Sep 2020 10:44:34 -0400 Subject: [PATCH 17/19] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c276bdbea..8d5f1104d 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ * **My case study lives here: My Case Study lives here: https://github.com/PhillipKinney/casestudy.ddemployeemanagement** * **Application has been deployed to Heroku: https://dry-atoll-35480.herokuapp.com** -* **Video Walkthough of how to use application can be found here: https://youtu.be/MVr9_AnhBOc +* **Video Walkthough of how to use application can be found here: https://youtu.be/MVr9_AnhBOc** * **Objective** - to create an implementation of a web service * **Purpose** - to demonstrate the construction of a full-stacked web-application @@ -68,7 +68,7 @@ * **Web Server Cloud Deployment** 1. Heroku - ##Challenges + ## Challenges 1. Wanted to set up author as type User in Posts class, but had issues figuring out how to pass that from the front end since controller was looking for entire User object and not just a the name of user. Tried to do user.firstName but it did not work so I changed type to String 2. Wanted to add department as a field of the Employee Class, but had issues similar to #1 3. Project actually started as blog, but had issues with tutorials I was loking into, so I changed it to an employee mangement system. After following the management system I realized I could much of the same logic to create an MVP for my blog. @@ -76,7 +76,7 @@ 5. When deploying to Heroku, my GitBash would not run the `create heroku` command. The CLI would freeze after loggin me in to Heroku. Thanks to stackoverflow, I learned how to change the shell of my terminal in Intellij to accept Git commands and run the needed Heroku commands. 6. Not sure if this qualifies as a challenge, but I am not sure why my data is persisting with Heroku. I intalled JawsDB to my Heroku account, but did not configure it. The data that put on Heroku on 9/25/20 was still there on 9/26/20. Since I was under the impression that data would not persist (and I am not yet sure sure why it is) I added dummy data to the ProjectConfig file so that in case data does not persist, the blog posts page will have data on each run. However, with data currently persisting, this causes data to be loaded multiple time. I will investigate this further as I work on v2. - ##Deferred to v2 + ## Deferred to v2 1. Address Challenges mentioned above 2. Assign Roles to Users 3. Set up JawsDB on Heroku. From 6d53c458d7943a943335d23f3a7463f5049f259b Mon Sep 17 00:00:00 2001 From: PhillipKinney <64390223+PhillipKinney@users.noreply.github.com> Date: Sat, 26 Sep 2020 10:44:51 -0400 Subject: [PATCH 18/19] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8d5f1104d..b9850ddba 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ * **My case study lives here: My Case Study lives here: https://github.com/PhillipKinney/casestudy.ddemployeemanagement** * **Application has been deployed to Heroku: https://dry-atoll-35480.herokuapp.com** -* **Video Walkthough of how to use application can be found here: https://youtu.be/MVr9_AnhBOc** +* **Video Walkthough of how to use the application can be found here: https://youtu.be/MVr9_AnhBOc** * **Objective** - to create an implementation of a web service * **Purpose** - to demonstrate the construction of a full-stacked web-application From f9c27ea89d1831b2e3b99fcb69c4719647f0c48c Mon Sep 17 00:00:00 2001 From: PhillipKinney <64390223+PhillipKinney@users.noreply.github.com> Date: Sat, 26 Sep 2020 10:52:42 -0400 Subject: [PATCH 19/19] Update README.md --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index b9850ddba..e01836bfd 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ * **My case study lives here: My Case Study lives here: https://github.com/PhillipKinney/casestudy.ddemployeemanagement** * **Application has been deployed to Heroku: https://dry-atoll-35480.herokuapp.com** -* **Video Walkthough of how to use the application can be found here: https://youtu.be/MVr9_AnhBOc** +* **Video Walk though of how to use the application can be found here: https://youtu.be/MVr9_AnhBOc** * **Objective** - to create an implementation of a web service * **Purpose** - to demonstrate the construction of a full-stacked web-application @@ -30,11 +30,11 @@ ## Features * Log in feature using Spring Security * Passowrd encryption (BCrypt) -* CRUD operations for posts and employees -* Nav Bar Navigation at the top of each page - - - +* A Post Manger page to perform CRUD operations for posts. +* An Employee Manager page to perform CRUD operations for employees. +* Nav Bar Navigation at the top of each page. +* Blogs post can be accessed without logging in. +* Buttons througout site to allow for easy site navigation ## Developmental Notes