This is a test exam to be done as part of the recruitment processes at Net Tech International.
The test has a time to completion of 7 days after the initial email is sent by one of our members.
IMPORTANT: THE COMPLETION OF THIS TEST DOES NOT GUARANTEE THAT A CANDIDATE WILL GET HIRED
The test consists of a basic Ticket System which includes the following modules:
- Ticket Module (w/ CRUD)
- Employee Module (w/ Login, and CRUD)
- Report Module
The basic idea behind the application is that an Employee can log in and create/update/delete tickets and also create time entries for each of the tickets. Later, a report can be generated to get the hours worked by an employee during a time frame.
Note: These screens are meant to be for illustration purposes only and should not be used as a definitive layout. You are open to show the information in the way that is best for you as long as it provides the functionality that is requested.
Login Screen Note: Initially, a manual Employee account can be created in the database.
Tickets Note: This section shows the list of tickets.
Ticket View (With Time Entries) Note: This section shows the information of the ticket (showing also the list of time entries for that ticket below).
Ticket View (With Employees) Note: This section shows the information of the ticket (showing also the list of employees for that ticket below).
- Note: This section shows the form for the tickets
- Note: The list of statuses can be pre-populated by you.
Ticket Time Entry Form Note: This section shows the form to add time entries to the ticket
Employees Note: This section shows the list of employees.
Employee Form Note: This section shows the form for the employee
Report Note: Initially, no data needs to be displayed until a date range is specified and the generate action is issued.
In order for you to get more points on this test, you have the option to perform one or more of the following additional tasks which would get you more points and therefore better chances of landing the interview:
- Multiple employees assigned to tickets
- Add ticket statuses dynamically
- Clean Front-End
- Use a well known front-end framework/library (VueJS, ReactJS, AngularJS)
- Implement TDD (Test Driven Development)
- Form Validations (Back End and Front End)
- Code Complexity Analisis
- Documentation
- Using Docker
In order for the submission of the test to be successful you need to perform the following steps:
- Ensure functionality of the code (Once submitted and reviewed no further changes will be permitted for a second review).
- All the code must be hosted under your personal GitHub account.
- If a database is used, make sure to provide the initial structure for it as well (also inside your repository)
- There must be a README.md in the root of your repository explaining in detail how to run your application. IMPORTANT
- NOTE THAT IF YOU LEAVE OUT CRUCIAL DETAILS ON HOW TO SETUP YOUR APPLICATION WE MAY NOT BE ABLE TO TEST IT.
- ALSO TAKE INTO CONSIDERATION THAT THIS APPLICATION WILL NOT RUN ON YOUR COMPUTER, IT WILL RUN ON SOMEONE ELSE'S. (i.e: Avoid hard coding things like 'localhost' or other type of urls!)
- AS A COMMON PRACTICE, TRY TO MAKE YOUR SETUP AS USER FRIENDLY AND AS EASY AS POSSIBLE. WE MAY ASSIGN SOMEONE WHO'S NOT A PROGRAMMER TO SETUP YOUR APPLICATION AS PART OF THE EVALUATION.
- DOCUMENTATION IS VERY IMPORTANT.
- When ready to submit, reply to the pre-existent email trail with the link to your repository.
If you have any questions or doubts regarding what needs to be done feel free to contact us using the same email trail and we will be happy to assist you.