Skip to content

raviegp/keepnote-step7-ui-api-integration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Seed code - Boilerplate for step 7 - Keep Note Assignment

Assignment Step Description

In this case study Keep Note Step 7, we will implement and deploy the application developed in step 6 as set of microservices communicating with each other.
The microservices should communicate with each other using Netflix-Zuul-API-Gateway and should be registered on nexflix-Eureka-naming-Server. You should also use Netflix-Feign for microsesrvice communication and Netflix-Ribbon for client side load blancing .

In this step, we will create this application in five independently deployed Micro Services.

    1. AuthenticationService
    2. UserService
    3. NoteService
    4. CategoryService
    5. ReminderService

######### Steps to be followed for implementing and deplying application as Micro Services

Select following port to run different MicroServices

Ports

Application Port

AuthenticationService 9100, 9101, 9102 User Service 9200 , 9201 Note Service 9300 Category Service 9400 ReminderRervice 9500 Spring Cloud Config Server 8888 Netflix Eureka Naming Server 8761 Netflix Zuul API Gateway Server 8765

=======================================

You should set following propertes for Microservices

application.propertes for all Services except Eureka server

spring.application.name= {{name of the application }} server.port= {{port number suggested above}}

eureka.client.service-url.default-zone=http://localhost:8761/eureka

#################################

To run application on multiple port

In Eclipse IDE -> Right Click application -> RunAs => Run Configuration

VM arguments

-DServer.port={{portnumber}}

    --------------------------------------

Project Dependencies

Project should be created with Spring Initializer (start.spring.io) with follwing dependency

Web, DevTools, Feign, Ribbon, EurekaDiscovery , Zuul

JPA can be taken where persistance is required.

Note that For project EurekaNaming server

Port:8761

Spring Initializer dependency is Eureka Server and not Discovery

Steps to be followed:

Step 1: Clone the boilerplate in a specific folder on your local machine and import the same in your eclipse STS
Step 2: Go thru the readme.md file and implement the code for AuthenticationService and run the test cases.
Step 3: Go thru the readme.md file and implement the code for UserService and run the test cases.
Step 4: Go thru the readme.md file and implement the code for NoteService  and run the test cases.
Step 5: Go thru the readme.md file and implement the code for CategoryService and run the test cases.
Step 6: Go thru the readme.md file and implement the code for ReminderService and run the test cases.

Import point to be taken care in implementaion of MS

Step 7: All communication between different services should be done through Netflix-Feign and client side load balancing should be done using nexflix-Ribbon

Project structure

The folders and files you see in this repositories, is how it is expected to be in projects, which are submitted for automated evaluation by Hobbes

Project
|
├── AuthenticationService                   // This is the microservice for User Authentication
├── NoteService                             // This is the microservice of Note   
├── CategoryService                         // This is the microservice of Category   
├── ReminderService                         // This is the microservice of Reminder   
├── UserService                             // This is the microservice of User   
├── .gitignore			                    // This file contains a list of file name that are supposed to be ignored by git 
├── .hobbes   			                    // Hobbes specific config options, such as type of evaluation schema, type of tech stack etc., Have saved a default values for convenience
├── .project			                    // This is automatically generated by eclipse, if this file is removed your eclipse will not recognize this as your eclipse project. 
└── pom.xml 			                    // This is the parent POM, which holds all the microservice projects.

PS: All lint rule files are by default copied during the evaluation process, however if need to be customizing, you should copy from this repo and modify in your project repo

To use this as a boilerplate for your new project, you can follow these steps

  1. Clone the base boilerplate in the folder assignment-solution-step7 of your local machine

    git clone https://gitlab-cts.stackroute.in/stack_java_keep/KeepNote-Step7-Boilerplate.git assignment-solution-step6

  2. Navigate to assignment-solution-step7 folder

    cd assignment-solution-step7

  3. Remove its remote or original reference

    git remote rm origin

  4. Create a new repo in gitlab named assignment-solution-step7 as private repo

  5. Add your new repository reference as remote

    git remote add origin https://gitlab-dev.stackroute.in/{{yourusername}}/assignment-solution-step7

    Note: {{yourusername}} should be replaced by your username from gitlab

  6. Check the status of your repo

    git status

  7. Use the following command to update the index using the current content found in the working tree, to prepare the content staged for the next commit.

    git add .

  8. Commit and Push the project to git

    git commit -a -m "Initial commit | or place your comments according to your need"

    git push -u origin master

  9. Check on the git repo online, if the files have been pushed

Important instructions for Participants

  • We expect you to write the assignment on your own by following through the guidelines, learning plan, and the practice exercises
  • The code must not be plagirized, the mentors will randomly pick the submissions and may ask you to explain the solution
  • The code must be properly indented, code structure maintained as per the boilerplate and properly commented
  • Follow through the problem statement shared with you

MENTORS TO BEGIN REVIEW YOUR WORK ONLY AFTER ->

  • You add the respective Mentor as a Reporter/Master into your Assignment Repository
  • You have checked your Assignment on the Automated Evaluation Tool - Hobbes (Check for necessary steps in your Boilerplate - README.md file. ) and got the required score - Check with your mentor about the Score you must achieve before it is accepted for Manual Submission.
  • Intimate your Mentor on Slack and/or Send an Email to learner.support@stackroute.in - with your Git URL - Once you done working and is ready for final submission.

Further Instructions on Release

*** Release 0.1.0 ***

  • Right click on the Assignment select Run As -> spring boot app to run your Assignment.
  • Right click on the Assignment select Run As -> JUnit Test to run your Assignment.

About

Keepnote UI API Integration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages