Skip to content

Commit 1ef75a3

Browse files
etiennestuderjthurne
authored andcommitted
Create backend code project scaffolding
0 parents  commit 1ef75a3

File tree

12 files changed

+527
-0
lines changed

12 files changed

+527
-0
lines changed

.gitattributes

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#
2+
# https://help.github.com/articles/dealing-with-line-endings/
3+
#
4+
# Linux start script should use lf
5+
/gradlew text eol=lf
6+
7+
# These are Windows script files and should use crlf
8+
*.bat text eol=crlf
9+

.github/dependabot.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
version: 2
2+
registries:
3+
gradle-plugin-portal:
4+
type: maven-repository
5+
url: https://plugins.gradle.org/m2
6+
username: dummy # Required by dependabot
7+
password: dummy # Required by dependabot
8+
updates:
9+
- package-ecosystem: "gradle"
10+
directory: "/"
11+
registries:
12+
- gradle-plugin-portal
13+
schedule:
14+
interval: "daily"
15+
time: "02:00"
16+
- package-ecosystem: "github-actions"
17+
directory: "/"
18+
schedule:
19+
interval: "daily"
20+
time: "02:00"
21+

.gitignore

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Gradle and IDEA folders
2+
.idea/
3+
.gradle/
4+
build/
5+
6+
# Compiled class file
7+
*.class
8+
9+
# Log file
10+
*.log
11+
12+
# BlueJ files
13+
*.ctxt
14+
15+
# Mobile Tools for Java (J2ME)
16+
.mtj.tmp/
17+
18+
# Package Files #
19+
*.jar
20+
*.war
21+
*.nar
22+
*.ear
23+
*.zip
24+
*.tar.gz
25+
*.rar
26+
27+
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
28+
hs_err_pid*
29+
replay_pid*

README.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Develocity Backend Code Project
2+
3+
Congratulations on advancing to the code project for a Backend Engineer position on the Develocity team!
4+
5+
This project aims to allow you to demonstrate your expertise and skills using an industry-standard language such as `Java` or `Kotlin`, a modern microservice library that embraces asynchronous programming as provided by `Armeria`, one or more testing frameworks of your choice, and the widely-adopted build tool `Gradle`.
6+
7+
## Installation instructions
8+
9+
You are already provided with a scaffold, including a Gradle build to assemble and run a HTTP server.
10+
11+
From the root of this project, start the minimal server and navigate to [http://localhost:5555/](http://localhost:5555/):
12+
13+
`./gradlew :server:start`
14+
15+
## Implementation instructions
16+
17+
Follow the detailed instructions in the PDF that have been provided to you via email.
18+
19+
## Validation instructions
20+
21+
Ensure the server is assembled and the automated test suites executed when running the following command:
22+
23+
`./gradlew :server:build`
24+
25+
## Evaluation criteria
26+
27+
The following criteria will play into the evaluation of your submission:
28+
29+
- Overall architecture and solution structure
30+
- Code organization, readability, and easiness to follow
31+
- Utilization of the applied programming language and language version
32+
- Data mapping and transformation
33+
- Error and edge case handling
34+
- Test coverage
35+
36+
## Reasoning
37+
38+
### Language, libraries, and testing frameworks
39+
40+
_Please include the reasoning about the choice of language, language version, libraries, and testing frameworks._
41+
42+
### Other choices and considered alternatives
43+
44+
_Please include the reasoning about other choices you made and the alternatives you considered._
45+
46+
### Future improvements (if you had more time)
47+
48+
_Optional. For you to fill._
49+
50+
## Checklist
51+
52+
- [ ] Instructions have been followed closely
53+
- [ ] All given advice has been read carefully and applied
54+
- [ ] Evaluation criteria have been considered
55+
- [ ] Implementation can be validated for correctness using the Gradle command listed above
56+
- [ ] Decisions are described in the README file
57+
- [ ] Zip-file is created without any build artifacts in it and uploaded to Gradle

gradle.properties

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# enable these performance features unless you have specific reasons not to
2+
org.gradle.vfs.watch=true
3+
org.gradle.daemon=true
4+
org.gradle.caching=true
5+
org.gradle.parallel=true
6+
org.gradle.jvmargs=-Duser.language=en -Duser.country=US -Dfile.encoding=UTF-8 -Xmx512m -XX:MaxMetaspaceSize=256m

gradle/wrapper/gradle-wrapper.jar

44.6 KB
Binary file not shown.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
distributionBase=GRADLE_USER_HOME
2+
distributionPath=wrapper/dists
3+
distributionSha256Sum=72f44c9f8ebcb1af43838f45ee5c4aa9c5444898b3468ab3f4af7b6076c5bc3f
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip
5+
networkTimeout=10000
6+
validateDistributionUrl=true
7+
zipStoreBase=GRADLE_USER_HOME
8+
zipStorePath=wrapper/dists

gradlew

Lines changed: 248 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)