This repository is meant to be used as a challenge for Software Engineer candidates at Tradebyte within CPS.
You should fork/clone this repository to use as a basis for the challenge.
The purpose of this challenge is to build an application metadata management application. The metadata are arbitrary key value pairs. The application name can be expected to be unique and may be used as a reference for a relationship between applications. (e.g. application a depends on application b) You can use the framework(s) and language(s) of your choosing.
Requirements:
- Store application metadata
- The metadata are arbitrary key value pairs.
- The key
name
is the only required key value pair and should be unique. - There might be a
depends-on
key value pair which can reference a name of another application which should link to the application.
- Choose (an) appropriate framework(s) to build:
- A frontend for the application metadata
- It should provide the ability to do CRUD operations.
- An API (REST, GraphQL, …) to be able to programmatically connect to the data.
- This should also provide CRUD operations.
- Backend including data storage (SQlite, Redis, Postgres, …)
- This should provide the data to the frontend and api.
- Note: It is fine to build a monolithic application or split it up into multiple parts.
- A frontend for the application metadata
- You can run this application locally in Docker or any other appropriate service of your choice.
- Please keep maintainability and best practices in mind.
- Think about scalability and performance.
name: alpha
version: 1.2.0
stack: “python-django”
description: “This application provides alpha services.”
team: “🦄 Unicorn”
owner: “[email protected]”
eks-size: “xl”
name: beta
version: 1.0.0
depends-on: alpha
stack: “java-spring”
description: “This application provides beta services on top of alpha.”
team: “🦆 Duck”
owner: “[email protected]”
eks-size: “m”
name: gamma
version: 0.1.0
depends-on:
- alpha
- beta
stack: “java-spring”
description: “This application provides (pre-release) gamma services on top of alpha and beta.”
team: “🐒 Monkey”
owner: “[email protected]”
eks-size: “s”
name: delta
version: 1.1.0
stack: “java-spring”
description: “This application provides delta services.”
team: “🐬 Dolphin”
owner: “[email protected]”
eks-size: “m”
We love contributions from everyone. By participating in this project, you agree to abide by our code of conduct.
We expect everyone to follow the code of conduct anywhere in kraken-software-engineer-challenge
's project codebases, issue trackers, chatrooms, and mailing lists.
Thank you, contributors!
Copyright (c) 2022 by the Tradebyte Software GmbH.
kraken-software-engineer-challenge
is free software, and may be redistributed under the terms specified in the LICENSE file.
kraken-software-engineer-challenge
is maintained and funded by the Tradebyte Software GmbH.
The names and images for kraken-software-engineer-challenge
are trademarks of the Tradebyte Software GmbH.
We love free software!