Giter VIP home page Giter VIP logo

backend-coding-challenge's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

backend-coding-challenge's Issues

generateJooqClasses task fails on Windows [Workaround Available]

Hello!

Currently, when building this project on a Windows machine, the generateJooqClasses task fails. There appears to be an issue where docker-java attempts to use a unix socket although running from a Windows machine.

Windows 10 Home
Docker Version 20.10.17
Java 11.0.16.1

Steps to reproduce

  1. Clone the repository and go into the directory backend-coding-challenge
  2. Run the command ./gradlew.bat generateJooqClasses

Expected Behavior

JOOQ Classes generated.

Expected Output:

127.0.0.1:5432 - no response
waiting for db
127.0.0.1:5432 - no response
waiting for db
127.0.0.1:5432 - no response
waiting for db
127.0.0.1:5432 - accepting connections

BUILD SUCCESSFUL in 16s
1 actionable task: 1 executed

Current Behavior

> ./gradlew.bat generateJooqClasses --stacktrace
Error during callback
java.net.SocketException: A socket operation encountered a dead network.

        at org.newsclub.net.unix.NativeUnixSocket.connect(Native Method)
        at org.newsclub.net.unix.AFUNIXSocketImpl.connect(AFUNIXSocketImpl.java:263)
        at org.newsclub.net.unix.AFUNIXSocket.connect(AFUNIXSocket.java:156)
        at com.github.dockerjava.jaxrs.ApacheUnixSocket.connect(ApacheUnixSocket.java:62)
        at com.github.dockerjava.jaxrs.UnixConnectionSocketFactory.connectSocket(UnixConnectionSocketFactory.java:74)
        at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)
        at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)
        at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)
        at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
        at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
        at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
        at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
        at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
        at org.glassfish.jersey.apache.connector.ApacheConnector.apply(ApacheConnector.java:480)
        at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:296)
        at org.glassfish.jersey.client.JerseyInvocation.lambda$invoke$1(JerseyInvocation.java:623)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:205)
        at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:390)
        at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:621)
        at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:432)
        at org.glassfish.jersey.client.JerseyInvocation$Builder.post(JerseyInvocation.java:333)
        at com.github.dockerjava.jaxrs.async.POSTCallbackNotifier.response(POSTCallbackNotifier.java:29)
        at com.github.dockerjava.jaxrs.async.AbstractCallbackNotifier.call(AbstractCallbackNotifier.java:50)
        at com.github.dockerjava.jaxrs.async.AbstractCallbackNotifier.call(AbstractCallbackNotifier.java:24)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)
> Task :generateJooqClasses FAILED

FAILURE: Build failed with an exception.

Workaround


I have found a related issue in the jooq-plugin library here: revolut-engineering/jooq-plugin#15

In order to workaround this, I had to update the com.revolut.jooq-docker plugin from version 0.3.3 -> 0.3.7 as well as go to my environment variables and add an extra system variable DOCKER_HOST as npipe:////./pipe/docker_engine.

If you look on the linked issue, there was a fix made on the docker-java library released here: https://github.com/docker-java/docker-java/releases/tag/3.2.12 in the following PR: (docker-java/docker-java#1701) to avoid adding the system variable workaround.

The base jooq-plugin library does not currently have this fix in yet. A fork can be created to simply update the docker-java version. There are also existing forks listed under the issue that have the fix implemented.

Employees can not remove their reminders

Expected behavior

The user should be able to remove their own reminders from the service.

Current behavior

Currently, the service does not provide a way for the users to remove their own reminders.

Employees are able to create reminders without a description

Steps to reproduce the bug

  1. Create a simple non-recurrent reminder without a description;
  2. The reminder is created;

Expected behavior

The user should be warned that a reminder should contain a description and the reminder should not be created;

Current behavior

The reminder is created without a description;

No LICENSE

I have an interview with y'all tomorrow, and I noticed there's no license on the repo, you might consider adding one!

Docker image for java 17 doesn't work for mac M1

This has been introduced in the latest commit https://github.com/personio/backend-coding-challenge/pull/8/files#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557R1

 => ERROR [internal] load metadata for docker.io/library/eclipse-temurin:17-jre-alpine                       1.3s
------
 > [internal] load metadata for docker.io/library/eclipse-temurin:17-jre-alpine:
------
failed to solve: eclipse-temurin:17-jre-alpine: no match for platform in manifest sha256:8a139831f95086a107f510f239cb311d4196b94f0f15192a22f8f7a43f343d02: not found

No matching manifest for linux/arm64/v8 in the manifest list entries

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.