You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+17-17Lines changed: 17 additions & 17 deletions
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Enara Health • Backend Interview • Letters game
2
2
3
-
_Version 1.0.2_
3
+
_Version 1.1.0_
4
4
5
5
## This is a coding challenge for applicants interested in joining Enara Health as Backend Engineers.
6
6
@@ -28,10 +28,10 @@ The Enara Health team!
28
28
- Write a server application that offers at least 3 endpoints:
29
29
- Define the game's known dictionary (see bellow).
30
30
- Start a new game by providing a board.
31
-
- Validate a play.
31
+
- Validate a play within a board.
32
32
- You can use any boilerplate or start project. If you need help with this, let us know and we will share a quick-starter project promptly.
33
33
- Keep your code **separated from the boilerplate**, so it's easier to review your work.
34
-
- We prefer TypeScript or typed JavaScript, or GoLang.
34
+
- We prefer TypeScript or typed JavaScript, or Ruby on Rails.
35
35
36
36
### Rules of the game
37
37
@@ -64,17 +64,12 @@ Design an API to play, including endpoints to allow:
64
64
- Implement a **single** test as an example of your testing strategy.
65
65
- You can submit more tests if it is required to demonstrate different aspects of your strategy.
66
66
67
-
## Stretch goals
68
-
69
-
These are **not required**, but would make your submission stand out. You can implement none, one or all of these. If you do, let us know your decision so we evaluate them.
70
-
71
-
- Allow specific players to make plays.
72
-
- It will track which words were already played by past plays, and won't allow the same player to submit the same word twice (even if it can be formed by sequences of different tiles).
73
-
- Implement a new route to output the score: Valid plays score 1, 2, 4, 8, etc points for words with 3, 4, 5, 6, etc letters.
74
-
75
67
#### Example
76
68
77
69
In the following example, the app is initialized with the dictionary defined in [this json dictionary file](files/dictionary.json).
70
+
```
71
+
CURL ... # There is a REST request to initialize the dictionary.
72
+
```
78
73
79
74
Then, a game is initialized with the board in the [test json file 1](files/test-board-1.json). If we would get to visualize the board, it would look like this:
80
75
@@ -85,6 +80,10 @@ Then, a game is initialized with the board in the [test json file 1](files/test-
85
80
M N O P
86
81
```
87
82
83
+
```
84
+
CURL ... # There is a REST request to start a new game.
85
+
```
86
+
88
87
Then, a user submits the word "fab" formed by these tiles:
89
88
90
89
```
@@ -94,7 +93,11 @@ Then, a user submits the word "fab" formed by these tiles:
94
93
M N O P M N O P M N O P
95
94
```
96
95
97
-
The server should accept the word. If you implement the score system (stretch goal), the score for this play is **1 point**.
96
+
The server should accept the word.
97
+
98
+
```
99
+
CURL ... # There is a REST request to check if the play described above is valid.
100
+
```
98
101
99
102
---
100
103
@@ -106,14 +109,11 @@ Your deliverable should satisfy all these requirements:
106
109
107
110
- It should include _instructions on how to run_ (installing dependencies, starting it, etc) and it shouldn't have any obscure environment requirements.
108
111
109
-
- It should include _instructions on how to test_.
112
+
- It should include _instructions on how to test_ (only **one test** is required).
110
113
111
114
- Describe your endpoints, and how to use them.
112
115
113
-
- It should be submitted using one of the following alternatives:
114
-
1. bitbucket.org or github.com repo (_Note: Do NOT clone our repo because other candidates can find it_).
115
-
1. Upload a compressed file somewhere and send us the URL.
116
-
1. Email us your code.
116
+
- It should be submitted via bitbucket.org or github.com repo (_Note: Do NOT clone our repo because other candidates can find it_).
117
117
-_Note: Do NOT include `node_modules` or any other files that will be auto-generated_.
0 commit comments