Skip to content

rsimsibm/Full-Stack-Coding-Challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Full Stack Experiential Learning

Welcome to the IBM BR CIC Java Full Stack Experiential Learning. The experiential learning is designed for practitioners seeking to enrich their Full Stack skills. The learning leverages the technologies in high demand by our clients.
These technologies are not limited too but include Java, Spring Boot, Spring Cloud, Docker, Docker Compose, Kubernetes, Angular, and React. Upon successfully implementing the entire learning, there are eight components (containers) that should be running simultaneously:

  • Two UIs (Angular and React) running in parallel
  • Four Spring Boot Applications
  • Two Databases (SQL or NoSQL).

The ultimate goal is the Journey to the Cloud which is accomplished by deploying the application to a cloud platform of the your choice: AWS, Azure, IBM Cloud, Google Cloud, or Red Hat OpenShift.

Projects in this Repository

Projects Description
angular-ui Angular UI Project
api-gateway Spring Boot Zuul API Gateway Service
discovery-service Spring Boot Eureka Discovery Service
employee-db-docker-image Contains Dockerfile for building MySQL Employee DB
employee-service Spring Boot Employee Service
login-db-docker-image Contains Dockerfile for building MySQL Login DB
login-service Spring Boot Login Service
registration-service Spring Boot Employee Registration
react-ui React UI

Before You Get Started

  1. Install JDK 1.8 or later.
  2. Install Node JS
  3. Install Docker Desktop
  4. Preferred IDEs. However, feel free to use the IDE of your choice.
  1. Create a Docker Hub Account
  2. Create an IBM Cloud Account
  3. Create an IBM GitHub Account
  4. Fork the Git repository to make a copy in your repository.

Prerequisite Courses (Optional)

If you need a refresher before you start, click the Udemy courses below or a tutorial of your choice.

  1. The Complete Java Development Bootcamp or a tutorial of your choice.
  2. The Complete Spring Boot Development Bootcamp or a tutorial of your choice.
  3. JavaScript Basics for Beginners or a tutorial of your choice.
  4. Git for Geeks: Quick Git Training for Developers or a tutorial of your choice.

Deliverables

The coding challenge should be completed in 4 to 6 weeks. Code snippets are included in the projects to speed along your progress. However, you must implement the missing code.

Activity 1 - Docker Containterization and Spring Cloud

Udemy Courses

Tasks

  • Create MySQL Docker Images (Login and Employee Databases).
  • Complete Login Service and Containerize.
  • Complete Employee Service and Containerize.
  • Run images using Docker Compose.
  • Test with Postman and MySQL WorkBench.

Activity 2 - Spring Cloud Continued

Udemy Courses

Tasks

  • Implement Eureka Discovery and Zuul API Gateway Services.
  • Validate Eureka Discover Service identified: Login, Employee, and API Gateway Services.
  • Implement Security: oAuth, JWT, etc.
  • Run using Docker Compose.
  • Test Services via Zuul API Gateway.
  • Start Kafka Training

Activity 3 - Apache Kafka

Udemy Courses

Tasks

  • Implement Kafka Server using Docker Compose.
  • Implement Zookeeper using Docker Compose.
  • Implement APHQ/KafkaHQ using Docker Compose (optional).
  • Implement Kafka DB (NoSQL) using Docker Compose.
  • Implement Kafka Service using Docker Compose.
  • Run Kafka module using Docker Compose.
  • Test Kafka Services and AKHQ/KafkaHQ (optional).
  • Run using Docker Compose.
  • Test with Postman.

Activity 4 - Journey to the Cloud I

Tasks

  • Deploy backend on Minikube using Kubernetes.
  • Deploy the application on a Cloud platform using Kubernetes.
  • Cloud Platforms: IBM Cloud, AWS, Azure, GCP, or Red Hat Open Shift
  • Test Services via Zuul API Gateway using Postman.

Backend Demonstration

  • Services must be running on a Cloud platform implemented using Kubernetes.
  • Be prepared to discuss each service component.

Activity 5 - Angular & React

Udemy Courses

Tasks

  • Implement and Containerize Angular UI.
  • Ensure screen requirements are implemented.
  • Test Angular UI against service components.
  • Repeat above steps for the React UI.
  • Run using Docker Compose.

Activity 6 - Journey to the Cloud II

Udemy Courses

Tasks

  • Deploy frontend and backend on Minikube.
  • Deploy the application on a Cloud platform using Kubernetes.
  • Cloud Platforms: IBM Cloud, AWS, Azure, GCP, or Red Hat Open Shift
  • Test application via frontend. Angular and React frontends should be running in parallel.

Complete Application Demonstration

  • Deploy UI and Backend Services on Minikube.
  • UI and Service components must be running on a Cloud platform using Kubernetes.
  • Be prepared to discuss each application component.
  • Both UIs must run in parallel
  • Test services via UIs.

Sequence Diagrams

Login

Login Sequence Diagram

Add and Edit Employees

Add and Edit Employee Sequence Diagram

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published