Full Stack web-developer need

Job ID: 34978416

Budget: $250 – $750 USD

Here you will be asked to create a web application simulating our technology and infrastructure. Implement a robot cleaning a map with full coverage. In addition, create a web interface that provides users with a live robot’s position and basic statistics. We don’t care which algorithm you choose, we are more interested in the whole application itself. See more details below.


Programming Challenge
Back-end
The back-end should simulate a robot cleaning a map.


Requirements:

input: map

a long ASCII character string:

“ “ - empty spaces where robot can drive through

“#” - walls

“\n” - a new line of the map

every space is reachable

the height and width of the maze can vary, but is always be a rectangle

robot algorithm

it can start in any position of your choice

can only move one space at time, every 200 ms

it cannot go past walls

clean all empty spaces

feel free to use whatever approach you want

don’t need to be the most efficient

it can move over the same position more than once if needed

stop moving when all spaces are cleaned

Front-end
The front-end should display the robot live streaming.


Requirements:

provide live data with robot’s position

highlight areas that the robot cleaned

provide some live statistics

covered area (number of spaces cleaned)

percentage of the covered area (number of spaces cleaned / total spaces)

productivity (number of new cleaned spaces per second)

any other interesting statistics you may want to show us

the back-end and front-end must be separated but connected

show a nice message when the cleaning is over

Tips
you can use whatever technology you feel more comfortable with

you can use websockets to connect back end and front end

you can take your time

think simple

do not spend more than 1h in this



As an example, here is map of a grocery store:


####################

# ## # #

# # ## ##### # # #

# # ## ##### ## # #

# # # #

# # ######## #### #

# # # #

# # ######## ## # #

# # #
can you do this?
Related categories: PHP JavaScript MySpace MySQL Laravel