A Sandbox project that has the goal to assess the development skills of a Web Developer candidate by completing exercises.
The exercises require Java, HTML, Typescript/Javascript and SQL skills to complete.
These instructions include everything the candidate needs to know on how to download the sources of this simplified web application on a personal computer as well as how to deploy and run it. The instructions begin with going through the installation process. After the application is successfully installed and running, the candidate is ready to start with the exercises that follow. Each exercise awards a different amount of points totaling 100 points.
The use of any IDE and/or editor to edit the source code is allowed. It is totally acceptable, for the candidate to get help and information he/she needs from the internet. However, it is not acceptable to ask for another person's help.
Nevertheless, the candidate is encouraged to contact the assessor for any questions he/she might have, be it he/she needs any additional information, or he/she requires some help for completing the installation and/or an exercise. If the candidate has difficulties for example to complete the installation, he/she could ask for help from the assessor in order to be able to go on with the exercises and gain points.
The assessor should provide contact information to the candidate.
The candidate has to locate the files needed to complete the exercises. The exercises cover both front-end and back-end implementation tasks.
To install and run the application an active internet connection is required. Before this project can be build, the following dependencies must be installed and configured on the candidates machine:
Download and install any version of the JDK 17. Install JDK in a folder whose path does not contain spaces. Also Make sure to set the environmental variable JAVA_HOME in your system. The variable must point to your JDK folder ( absolute path). The path of the "\jre\bin" folder under the JDK folder should also be prepended to the PATH system variable.
Download and install any version of Maven 3. Install Maven in a folder whose path does not contain spaces. Make sure to set the environmental variables M2_HOME and M2 in your system. The M2_HOME variable must point to the maven folder (absolute path). The M2 variable must point to the "bin" folder under the maven folder (absolute path). The absolute path of the "bin" folder under the maven folder (M2) should also be prepended to the PATH system variable.
The candidate can download and install the Git command line client to download the sources of the application.
Download the sources of the application. If Git client was installed in the previous step, then navigate with the command line to a folder in which you want to download the source code. Run the following command:
git clone
Alternatively, if Git client was not installed in the previous step, you can download the zip from
https://
For your convinience, make sure that the folder with the application's sources is saved under a path which does not contain spaces.
Node.js is used to run a development web server and build the project. Depending on your system, you can install Node.js either from source or as a pre-packaged bundle.
Navigate to the project folder and execute the command mvn clean install
This should compile your application. When this process finishes navigate to /backEnd
folder and run mvn spring-boot:run
Navigate to http://localhost:8080 in your browser to open the application. There are 4 available Users you can use to login to the application: (Username and password are same)
JDoe
LDoe
SScotts
admin
To terminate the application, just terminate the execution of the previous command Ctrl + C
.
After making changes to the code stop the application and repeat step 6
More information regarding the components of the Application can be found in further README files in each of the project modules.
The following tasks award points up to a maximum of 100.
At the moment the Application can not be compiled. The code has some deliberate placed errors. For this exercise and the Test to begin the candidate should identify and fix the compilation errors in the code.
At the moment code runs into some exceptions when the User tries to open the About page. The candidate should Find the exceptions and eliminate the broken behaviour.
To display the current Balance of an account the Function Calcbalance2
is used. To complete this Exercise the
candidate should identify and fix issues with this function regarding code style, functionality, performance, etc. For
each successful improvement the candidate gets awarded with points up to the maximum for this Exercise.
At the moment Users are unable to register their Age. For this exercise add an age Attribute to the users. To complete this task the candidate should implement all the necessary changes in the frontend, the backend and the database.
This Exercise is optional and is designed to give credits for design and logical thinking. To score points the candidate should implement an export functionality for the Transactions listed in an Account. The candidate is free to use any libraries and can implement it in any way. The only conditions in place are the following:
When finished the candidate should compress the root folder of the project and send it to the assessor by email. Along with the compressed file a screenshot of the candidate's browser with the Application running and a user logged in should be sent in order to verify that the installation was successfully completed.
The deadline to send the compressed file is determined by the assessor. Normally it should be exactly three days after the test has started.
Thank you for participating and good luck!!!