The goal of these exercises are to assess your proficiency in software engineering that is related to the daily work that we do at Cellock. Please follow the instructions below to complete the assessment.
- Create a new repository in your own git profile and commit the contents of this folder
- Ensure
node (>8.6 and <= 10)
andnpm
are installed - Run
npm install
- Run
npm test
- Run
npm start
- Hit the server to test health
curl localhost:8010/health
and expect a200
response
Below will be your set of tasks to accomplish. Please work on each of these tasks in order. Success criteria will be defined clearly for each task
Please implement pagination to retrieve pages of the resource rides
.
- Create a pull request against
master
with your changes to theGET /rides
endpoint to support pagination including:- Code changes
- Tests
- Documentation
Please implement the following refactors of the code:
- Convert callback style code to use
async/await
- Reduce complexity at top level control flow logic and move logic down and test independently
- [BONUS] Split between functional and imperative function and test independently
- [BONUS] Add Typescript support
Please implement the following security controls for your system:
- Ensure the system is not vulnerable to SQL injection
- [BONUS] Implement an additional security improvement of your choice
Please implement basic UI for displaying a list of rides
- Implement a simple User interface for displaying and updating the 'rides' in React/View/Anjular
- Add a list to display all 'rides'
- Add insert new functionality
- Add Update Functionality
- Add view functionality 5.[BONUS] Add a seperate client page called /map to display the rides in a map
A link to your git account with access to all commits you make for the final deliverable
Duration of the project should not be more than one day .
You will be scored based on the deliverable for each one of the tasks . You can deliver one or all tasks based on your experience and you will be scored accordingly .
GOOD LUCK