All Projects → RadarCOVID → Radar Covid Backend Configuration Server

RadarCOVID / Radar Covid Backend Configuration Server

Licence: mpl-2.0
Radar COVID Configuration Service

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Radar Covid Backend Configuration Server

Blog Tutorials
⭐️ Codebase for the tutorials on my blog about Java, Spring Boot, AWS, Kotlin and Testing
Stars: ✭ 257 (+358.93%)
Mutual labels:  spring-boot, maven
Ms Backend Boilerplates
Boilerplate for Your Server Side(Backend) Application, Java | Spring(Boot, Cloud) | Node.js(Express, Koa, Egg) | Go | Python | DevOps 💫 服务端项目模板
Stars: ✭ 394 (+603.57%)
Mutual labels:  spring-boot, maven
Ueboot
springboot2.2、spring-data-jpa、iView4、Vue2 、代码生成器、shiro权限管理、前后端分离、java后台管理系统快速开发框架,通过该框架可以在分钟级别内完成单表的前后端增删改查功能。脚手架工程: https://github.com/ueboot/ueboot-starter ,基于这个工程可以直接开发
Stars: ✭ 270 (+382.14%)
Mutual labels:  spring-boot, maven
Jhipster4 Demo
Blog demo app with JHipster 4
Stars: ✭ 180 (+221.43%)
Mutual labels:  spring-boot, maven
Web Framework For Java
A seed project with spring boot for AngularJS, AngularJs Material, Thymeleaf, RESTful API, MySQL and admin panel based on AdminLTE.
Stars: ✭ 29 (-48.21%)
Mutual labels:  spring-boot, maven
Telegrambots
Java library to create bots using Telegram Bots API
Stars: ✭ 2,728 (+4771.43%)
Mutual labels:  spring-boot, maven
Trampoline
Admin Spring Boot Locally
Stars: ✭ 325 (+480.36%)
Mutual labels:  spring-boot, maven
Javadevjournal
Source code for the tutorials published on the Javadevjournal site.
Stars: ✭ 141 (+151.79%)
Mutual labels:  spring-boot, maven
Springboot Beginner
🔰 📝 这可能是流程最清晰、代码最干净、注释最详细的 SpringBoot 入门项目咯,对于初学 SpringBoot 的同学非常具有参考与学习价值哟 ~
Stars: ✭ 51 (-8.93%)
Mutual labels:  spring-boot, maven
Cookbook
🎉🎉🎉JAVA高级架构师技术栈==任何技能通过 “刻意练习” 都可以达到融会贯通的境界,就像烹饪一样,这里有一份JAVA开发技术手册,只需要增加自己练习的次数。🏃🏃🏃
Stars: ✭ 428 (+664.29%)
Mutual labels:  spring-boot, maven
Myuploader Backend
单文件上传,多文件上传,大文件上传,断点续传,文件秒传,图片上传
Stars: ✭ 177 (+216.07%)
Mutual labels:  spring-boot, maven
Weather
一个天气查询服务:爬取数据、Web服务、小程序展示
Stars: ✭ 46 (-17.86%)
Mutual labels:  spring-boot, maven
My Blog
🌴A simple & beautiful blogging system implemented with spring-boot & thymeleaf & mybatis My Blog 是由 SpringBoot + Mybatis + Thymeleaf 等技术实现的 Java 博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验
Stars: ✭ 2,400 (+4185.71%)
Mutual labels:  spring-boot, maven
Javastud
Official, Main: This is Core/Advance java example series project. It help to learn java step by step using pdf tutorial provided here and corresponding demo project for the eclipse. Tag: Java Student, Java Stud, Stud Java, StudJava, Java Teachers, Studs Quick Start Guide, Studs Java, Object Oriented Programming, Core Java, Java SE, Java EE, Java Enterprise Edition, Java Blog, Java Articles, Java Web, JSP, Servlet, Maven, Spring, Hibernate, Spring-boot, Spring MVC Web, Angular JS, Angular 2, Java Security, Java CRUD, Java Login Example, File Handling, Multi threading, exception handling, Collection classes, Swing, Database, Date Time, Joda Time, JPA.
Stars: ✭ 220 (+292.86%)
Mutual labels:  spring-boot, maven
Fame
A blog power by spring-boot and vue
Stars: ✭ 162 (+189.29%)
Mutual labels:  spring-boot, maven
Hope Boot
🌱 Hope-Boot 一款现代化的脚手架项目
Stars: ✭ 3,241 (+5687.5%)
Mutual labels:  spring-boot, maven
Nimrod
Nimrod - 基于 Spring Boot 构建 的 Java Web 平台企业级单体应用快速开发框架,适合中小型项目的应用和开发。所采用的技术栈包括 Spring Boot、Spring、Spring Web MVC、MyBatis、Thymeleaf 等,遵守阿里巴巴 Java 开发规约,帮助养成良好的编码习惯。整体采用 RBAC ( Role-Based Access Control ,基于角色的访问控制),具有严格的权限控制模块,支持系统与模块分离开发。最后希望这个项目能够对你有所帮助。Nimrod 开发交流群:547252502(QQ 群)
Stars: ✭ 125 (+123.21%)
Mutual labels:  spring-boot, maven
Spring Boot Quick
🌿 基于springboot的快速学习示例,整合自己遇到的开源框架,如:rabbitmq(延迟队列)、Kafka、jpa、redies、oauth2、swagger、jsp、docker、spring-batch、异常处理、日志输出、多模块开发、多环境打包、缓存cache、爬虫、jwt、GraphQL、dubbo、zookeeper和Async等等📌
Stars: ✭ 1,819 (+3148.21%)
Mutual labels:  spring-boot, maven
Shop
spring cloud最佳实践项目实例,使用了spring cloud全家桶,TCC事务管理,EDA事务最终一致性等技术的下单示例
Stars: ✭ 418 (+646.43%)
Mutual labels:  spring-boot, maven
Spring Jms
Spring JMS Tutorials
Stars: ✭ 42 (-25%)
Mutual labels:  spring-boot, maven

RadarCOVID Configuration Service

Introduction

Configuration Service in terms of the Radar COVID project enables:

  • Getting exposition settings to be used by apps.
  • Getting internationalized texts.
  • Getting list of Autonomous Communities and their information.
  • Getting languages available: es-ES, ca-ES, en-US,...
  • Getting countries of interest available: DE, AT, DK, IT,...

Prerequisites

These are the frameworks and tools used to develop the solution:

Contentful is also used as content platform to manage literals for the different languages, etc.

Installation and Getting Started

Building from Source

To build the project, you need to run this command:

mvn clean package -P <environment>

Where <environment> has these possible values:

  • local-env. To run the application from local (eg, from IDE o from Maven using mvn spring-boot:run). It is the default profile, using application.yml configuration file. If any properties need to be modified, you can create application-local.yml configuration file.
  • docker-env. To run the application in a Docker container with docker-compose, using application.yml configuration file. If any properties need to be modified, you can create application-docker.yml configuration file.
  • pre-env. To run the application in the Preproduction environment. Preproduction environment properties are configured in the infrastructure.
  • pro-env. To run the application in the Production environment. Production environment properties are configured in the infrastructure

The project also uses Maven profile aws-env to include dependencies when it is running on AWS environment, so the compilation command for Preproduction and Production environments would be:

mvn clean package -P pre-env,aws-env
mvn clean package -P pro-env,aws-env

All profiles will load the default configuration.

Running the Project

Depends on the environment you selected when you built the project, you can run the project:

  • From the IDE, if you selected local-env environment (or you didn't select any Maven profile).
  • From Docker. Once you build the project, you will have in configuration-server-boot/target/docker the files you would need to run the application from a container (Dockerfile and the Spring Boot fat-jar).

If you want to run the application inside a Docker container in local, once you built it, you should run:

docker-compose up -d postgres
docker-compose up -d backend

Database

This project doesn't use either Liquibase or Flyway because:

  1. DB-Admins should only have database privileges to maintain the database model (DDL).
  2. Applications should only have privileges to maintain the data (DML).

Because of this, there are two scripts:

API Documentation

Along with the application there comes with OpenAPI Specification, which you can access in your web browser when the Verification Service is running (unless in Production environment, where it is inactive by default):

<base-url>/openapi/api-docs

You can download the YAML version in /openapi/api-docs.yaml

If running in local, you can get:

Endpoints

Endpoint Description Default values Sample response
/masterData/ccaa?locale=<locale>[&additionalInfo=<additionalInfo>&platform=<platform>&version=<platformVersion>] Get Autonomous Communities available locale=es-ES
additionalInfo=false
Response with additionalInfo=true:
response-masterData-ccaa-additionalInfo.json
/masterData/locales?locale=<locale>[&platform=<platform>&version=<platformVersion>] Get locales available locale=es-ES response-masterData-locales.json
/masterData/countries?locale=<locale>[&platform=<platform>&version=<platformVersion>] Get countries available locale=es-ES response-masterData-countries.json
/settings Get application settings response-settings.json
/texts?ccaa=<ccaa>[&locale=<locale>&platform=<platform>&version=<platformVersion>] Get texts by locale and Autonomous Community ccaa=ES
locale=es-ES
Response with default parameters.
response-texts.json

NOTE: The sample responses are using default parameters so returns are in castellano. The real information is not in a JSON file; as we said before, we use Contentful to maintain the languages, texts, etc.

Modules

Configuration Service has four modules:

  • configuration-server-parent. Parent Maven project to define dependencies and plugins.
  • configuration-server-api. DTOs exposed.
  • configuration-server-boot. Main application, global configurations and properties. This module also has integration tests and Java architecture tests with ArchUnit.
  • configuration-server-service. Business and data layers.

Support and Feedback

The following channels are available for discussions, feedback, and support requests:

Type Channel
Issues

Contribute

If you want to contribute with this exciting project follow the steps in How to create a Pull Request in GitHub.

More details in CONTRIBUTING.md.

License

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.

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].