Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dnyaneshwargiri/enlyze-coding-assignment

Coding assignment of Enlyze GmbH
https://github.com/dnyaneshwargiri/enlyze-coding-assignment

Last synced: about 1 month ago
JSON representation

Coding assignment of Enlyze GmbH

Awesome Lists containing this project

README

        

Table of Contents



  1. About The Project



  2. Getting Started


  3. Usage

## About The Project

KPI Builder is an application to manage KPI defintion for your project. One can access a list of KPIs, create, edit and delete KPI through this application.

https://github.com/dnyaneshwargiri/enlyze-coding-assignment/assets/34788823/f603d9c7-9b39-48e9-a1aa-e9cea4826a15

OpenAPI Spec https://github.com/dnyaneshwargiri/enlyze-coding-assignment/blob/main/kpi-svc/openapi.yaml
Can be tried out over https://editor.swagger.io/

### Built With

Below are frameworks/ libraries used to bootstrap this project.

- ![React](https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge&logo=react&logoColor=%2361DAFB)
- ![Express.js](https://img.shields.io/badge/express.js-%23404d59.svg?style=for-the-badge&logo=express&logoColor=%2361DAFB)
- ![Ant-Design](https://img.shields.io/badge/-AntDesign-%230170FE?style=for-the-badge&logo=ant-design&logoColor=white)
- ![Yarn](https://img.shields.io/badge/yarn-%232C8EBB.svg?style=for-the-badge&logo=yarn&logoColor=white)
- ![Vite](https://img.shields.io/badge/vite-%23646CFF.svg?style=for-the-badge&logo=vite&logoColor=white)

## Getting Started

Below are instructions on setting up your project locally.

### Prerequisites

- Node 21
- Yarn 1.22.21
- Typescript": ^5.2.2

### Installation

1. Clone the repo
```sh
git clone https://github.com/dnyaneshwargiri/enlyze-coding-assignment.git
```
2. Install NPM packages
```sh
yarn install
```
3. Compile kpi library
```sh
yarn libraries:compile
```

4. Run KPI-SVC

```sh
yarn svc:start /* production */
yarn svc:dev /* dev mode */
```

5. Run KPI Builder app

```sh
yarn serve /* production */
yarn dev /* dev mode */
```

Application uses `yarn workspaces`

## Test and Lint

Run test cases

```sh
yarn test
```

Check for linting Warnings, Error

```sh
yarn lint
```

## To run application via Docker Image

1. Build application for production
```sh
yarn workspace kpi-builder build
yarn workspace kpi-svc build
```
2. Build Docker image
```sh
chmod +x docker.build.sh
```
```sh
./docker.build.sh production kpis.json
```
3. Run Docker image
```sh
docker run -p 9999:9999 -p 5173:5173 enlyze-kpi-app
```

Please be informed commits are intentionly not squashed.

## Open issue
https://github.com/yarnpkg/yarn/issues/1297