DEV Community

Cover image for Project Urlink : Java on Azure
Uday Yadav
Uday Yadav

Posted on

Project Urlink : Java on Azure

Overview of My Submission

Project URLink

Product Overview

Surfing the internet, we come across resources that we might need for later use or maybe store them for a current project we are working on. This is where project Urlink comes in. It helps the user create multiple collections which can store multiple URLs with description for later access.

Technical Overview

  • The project is created using Spring Boot, a framework for creating back-end and microservices using Java, with - MySQL as database.
  • The project is deployed to Azure Spring Cloud and connected to Azure MySQL single server database
  • The code is divided into 5 modules and 3 micro-services, 1 cloud-gateway, 1 shared module containing models, - DTOs etc.
  • All microservice discover each other using Eureka service registry and internally requests are load balanced - going from one micro-service to another.
  • All microservices perform database operations using Spring Data JPA library.
  • All micro-service implemented according to Open-API specification and documented using swagger.
  • All database models are abstracted from the user end using Data Transfer Objects ( DTOs )
  • You can send HTTP requests to individual micro-services but to make our infrastructure more resilient, we - implemented cloud gateway and circuit breaker for all requests to traverse through it and in-case of any - failure, handle the fallback and inform the user about the same.
  • Configurations are loaded into the system using the config server using git and azure service binding.
  • Service Registry and Cloud Config server are integrated and fully-managed by Azure spring cloud.
  • Modules are packaged in .jar files and deployed to azure spring cloud from azure devops build pipeline
  • For distributed tracing and logging, we added zipkin and sleuth libraries which integrate with the AppInsights dashboard for Azure

Azure Architecture

azure-deploy drawio

ER Diagram

entity diagram

Submission Category: Java Jackpot

Link to Code on GitHub

Additional Resources / Info

Youtube video : https://www.youtube.com/watch?v=QKdbMSZLhJY

ignore background noise 😬

azure-hack-service
all resource
mysql
spring-cloud
2022-03-05_20-03
2022-03-05_20-03_1
2022-03-05_20-03_2
2022-03-05_20-13
2022-03-05_20-14
2022-03-05_20-35_1

unnamed
unnamed (1)

Discussion (4)

Collapse
dev117uday profile image
Uday Yadav Author

I would have to shutdown the infrastructure on 21st March 2022, because i will run out of free trial credits ...

Collapse
dev117uday profile image
Uday Yadav Author

ran out of free credits, deleted all resources

Collapse
fp profile image
FrankPohl

Congratulations

Collapse
dev117uday profile image
Uday Yadav Author

thank you !