Demo project for Nordea
Download Demo
·
Report Bug
·
Request Feature
Table of Contents
This project for me was a test task at Nordea for the Junior Backend position.
Implement a microservice which provides a list of countries and, in addition, provides more detailed information per country.
- Use spring-boot
- Use maven
- Use best practices and microservice approach
- Implement the following REST API with spring-boot:
GET /countries/
{
"countries": [
{
"name": "Finland",
"country_code": "FI"
}
]
}
GET /countries/{name}
{
"name": "Finland",
"country_code": "FI",
"capital": "Helsinki",
"population": 5491817,
"flag_file_url": "<url to the flag file>"
}
- Country service must fetch the relevant information for countries from some other service
- You could use for example the following service: https://countriesnow.space/
- Test the implementation as well as it's needed from your perspective
- All the implementations must be runnable locally with our own computer. Write needed instructions to README.md file.
- Publish all sources code and relevant files in github or similar service and send the link to the repo so that the implementation can be reviewed.
- You get bonus points if:
- you use and understand reactor (https://www.baeldung.com/reactor-core)
- you create a separate wep application which utilizes the created REST API and shows the relevant country information in a browser
Clone the repo
git clone https://github.com/syorito-hatsuki/Country-Service.git
Back-end
Install java 17 or newer. Select the correct way for your system
OS | Download Away |
---|---|
Windows | https://adoptium.net/temurin/releases/ |
Ubuntu | sudo apt install openjdk-17-jre |
Arch Linux | sudo pacman -S jre-openjdk |
-
Open folder backend
cd ./backend
-
Build JAR using maven
./mvnw jar:jar
- Run JAR file
java -jar country_service-2.0.0.jar
Front-end
Install NodeJS. Select the correct way for your system
OS | Download Away |
---|---|
Windows | https://nodejs.org/en/download |
Ubuntu | sudo apt install nodejs npm |
Arch Linux | sudo pacman -S nodejs npm |
-
Open folder backend
cd ./frontend
-
Install dependencies
npm install
- Run Node app
npm run start
Distributed under the Apache 2.0. See LICENSE.txt
for more information.
Kit Lehto - @kit-lehto - [email protected]
Project Link: https://github.com/syorito-hatsuki/Country-Service