-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
99886fb
commit 784b3c5
Showing
1 changed file
with
7 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,3 @@ | ||
# **data-managment-interview** | ||
### Description | ||
- Public repository with the data management team's technichal interview assignment inside | ||
--- | ||
## Assignment specification: | ||
Your assignment is to insert data about street names in israel to a database, using some kind of a queueing platform.\ | ||
The assignment is to be done in nodejs + Typescript (node version 16.X, npm version 8.X, typescript version 4.X).\ | ||
Inside of the repository you will find a StreetsService class which provides you the data from the api.\ | ||
The list of cities is provided inside of the cities.ts file.\ | ||
Feel free to make changes to the StreetsService class if you feel they are necessary. | ||
- If you want to take a look at the raw data - https://data.gov.il/dataset/israel-streets-synom/resource/1b14e41c-85b3-4c21-bdce-9fe48185ffca | ||
|
||
To complete the assignment you will need to select a database, sql or no-sql (for example: mongo, singlestore) and a queueing service (for example - rabbitmq, kafka), either from the provided dependencies, or one of your choice (commit it to your solution if you chose a different one).\ | ||
You will need to create two services: | ||
- Publishing service - A service that will get the data from the StreetsService and publish it to the queuing platform | ||
- A service that will consume the data from the queuing service and persisit it to the database | ||
|
||
Publishing service specification: | ||
- Will be activated by CLI, accepting a city name from the list of cities | ||
- Will query the StreetsService for all streets of that city | ||
|
@@ -52,10 +35,10 @@ The persisted streets need to contain all data from the api | |
- Kafka broker exposed on port 9092 | ||
- UI exposed on port 8014 with no need for authentication | ||
|
||
If you would like to a different service for a database/queueing system feel free to do so, as long as they adhere to the assignement specifications | ||
|
||
|
||
--- | ||
|
||
If you have any questions about the assignment you can send them to [email protected]\ | ||
Good luck! | ||
## Steps | ||
<pre> | ||
docker compose -f docker-compose up | ||
npm i | ||
npx generate prisma | ||
ts-node src/main.ts Itamar | ||
</pre> |