All Projects → vukmanovicmilos → web-app

vukmanovicmilos / web-app

Licence: other
Angular 7 + Spring boot microservices + PostgreSQL

Programming Languages

java
68154 projects - #9 most used programming language
typescript
32286 projects
HTML
75241 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to web-app

spring-cloud-marathon
Spring Cloud integration with Mesos and Marathon
Stars: ✭ 29 (+11.54%)
Mutual labels:  spring-cloud
spring-petclinic-microservices
Distributed version of Spring Petclinic built with Spring Cloud
Stars: ✭ 55 (+111.54%)
Mutual labels:  spring-cloud
social-network
Microservices project
Stars: ✭ 39 (+50%)
Mutual labels:  spring-cloud
go-register-server
The microservice registration is implemented by monitoring the state changes of the k8s pod, and pull the interface in the spring cloud eureka client service list.
Stars: ✭ 14 (-46.15%)
Mutual labels:  spring-cloud
spring-cloud-repository
spring-cloud学习的demo记录
Stars: ✭ 26 (+0%)
Mutual labels:  spring-cloud
spring-interview-questions
500+ Spring-Boot Interview Questions
Stars: ✭ 269 (+934.62%)
Mutual labels:  spring-cloud
robert
基于SpringCloud的企业级微服务多租户系统、多语言的脚手架, 代码组件化、高内聚低耦合,代码简介,注释丰富容易上手,该项目包括用于开发分布式应用程序服务的必要组件,支持多应用程序访问,并使开发人员可以轻松地使用Spring Cloud编程模型来开发分布式应用程序服务。
Stars: ✭ 45 (+73.08%)
Mutual labels:  spring-cloud
taotao-cloud-project
微服务开发脚手架,包括大数据模块、微服务模块、前端模块。基于Spring Cloud Alibaba的微服务架构。提供技术框架的基础能力的封装,减少开发工作,只关注业务,包含了工作以来的工作总结和技术沉淀
Stars: ✭ 76 (+192.31%)
Mutual labels:  spring-cloud
spring-cloud-alibaba-component
Sample of Spring Cloud Alibaba component
Stars: ✭ 50 (+92.31%)
Mutual labels:  spring-cloud
spring-cloud-aws
All development has moved to https://github.com/awspring/spring-cloud-aws Integration for Amazon Web Services APIs with Spring
Stars: ✭ 587 (+2157.69%)
Mutual labels:  spring-cloud
javayh-platform
javayh-platform 使用Springboot2.2.6为开发脚手架,SpringCloud为云端服务框架,Nacos为注册中心、分布式配置管理中心,Oauth2协议实现统一授权,Mybatis作为持久层框架,提供了代码生成器,SQL防注入,SwaggerAPI文档,Redis 作为缓存服务等强大的功能
Stars: ✭ 32 (+23.08%)
Mutual labels:  spring-cloud
sample-spring-cloud-gateway
sample spring cloud application with embedded api gateway on spring cloud gateway with or without service discovery with eureka
Stars: ✭ 25 (-3.85%)
Mutual labels:  spring-cloud
spring-cloud-docker-study
Spring Cloud 与 Docker 整合使用示例,为《使用Spring Cloud与Docker实战微服务》的配套代码。书籍地址:https://github.com/eacdy/spring-cloud-book 。讨论QQ群:157525002(已满)、564840207,欢迎加入。
Stars: ✭ 42 (+61.54%)
Mutual labels:  spring-cloud
Spring
Personal notes of preparation to Spring 5 Professional Certification
Stars: ✭ 35 (+34.62%)
Mutual labels:  spring-cloud
elasticsearch-report-engine
An Elasticsearch plugin to return query results as either PDF,HTML or CSV.
Stars: ✭ 49 (+88.46%)
Mutual labels:  jasper-reports
e-shop
Sample Spring Cloud microservices e-shop.
Stars: ✭ 48 (+84.62%)
Mutual labels:  spring-cloud
lua-resty-eureka-client
A Netflix Eureka client for OpenResty/ngx_lua
Stars: ✭ 18 (-30.77%)
Mutual labels:  spring-cloud
java-microservice-experience
记录和总结在落地微服务的过程中的经验
Stars: ✭ 38 (+46.15%)
Mutual labels:  spring-cloud
iam-service
IAM Service is used for the management of user, role, permission, organization, project, password policy, fast code, client, menu, icon, multi-language , and supports for importing third-party users through LDAP.
Stars: ✭ 39 (+50%)
Mutual labels:  spring-cloud
openshift-quickstart
Developer Workshops related to the Java development on OpenShift
Stars: ✭ 19 (-26.92%)
Mutual labels:  spring-cloud

Angular 7 + Spring boot 2.1 microservices + PostgreSQL 10

Table of contents

Application

This example show application for keeping records of courses, students and teachers.

Architecture

The application is divided into two basic sections, a backend (Spring boot 2.1 microservices) and a frontend (Angular 7).

Relational database schema:

Backend

Backend side is composed of spring boot applications that are organized according to microservice architecture.
There are a few microservices:

  • faculty
  • report
  • config
  • eureka
  • zuul

Each microservice can be built as a Docker image and assembled so that with one command it is possible to create and run all microservices from the configuration.

Faculty

This microservice provides basic create, read, update, and delete (CRUD) operations.
Faculty microservice use Spring Data JPA to store and retrieve data in a relational database (PostgreSQL) with provided pagination for GET method.
Lombok is a library which facilitates many tedious tasks and it reduce Java source code verbosity (no need for getters, setters and constructors).
Swagger offers the most powerful and easiest to use tools to take full advantage of the OpenAPI Specification (document, test).

Report

This microservice generate a report and comunicate with faculty microservice.
This communication is easily implemented using feign.
Client-side load balancing is provided by ribbon (for multiple instances of faculty miscroservice).
The report can be generated as pdf, saved or printed thanks to jasper.

Config

This microservice (Spring Cloud Config) provides server and client-side support for externalized configuration in a distributed system. It is a central location for managing external microservice properties in all environments. Properties can be stored in a local file, a git repository or a git cloud repository such as GitHub.

Eureka

This microservice (Client-side service discovery) allows microservices to find and communicate with each other without hard-coding hostname and port. Each microservice is registered with this microservice during startup.

Zuul

This microservice (Zuul Api Gateway) is a gateway application that handles all the requests and performs dynamic routing of microservice applications.

Frontend

Frontend side is Angular 7 application with Angular Material theming with animations and some extra things such as open an external link in new tab (for backend administration), embeded pdf file... Also, sorting, filtering and pagination is provided (pagination on the frontend and backend).

Running

Requirement:

To start the backend, start the microservices from STS in the order shown on the application architecture.
To start the frontend, run the following commands in VSC:

npm install
ng serve -o

You will also need to provide some CORS plugin for your browser.

Screenshots

Report generated from app

Directions for further development

In progress:

  • Spring security
  • Spring profiles
  • AWS
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].