https://github.com/ntidev/ticket-exam
This is the exam that should be sent to us as an initial step to our recruitment process
https://github.com/ntidev/ticket-exam
Last synced: 3 months ago
JSON representation
This is the exam that should be sent to us as an initial step to our recruitment process
- Host: GitHub
- URL: https://github.com/ntidev/ticket-exam
- Owner: ntidev
- Created: 2018-07-03T16:52:19.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2022-04-01T23:43:19.000Z (about 4 years ago)
- Last Synced: 2025-07-27T03:40:02.828Z (11 months ago)
- Size: 104 KB
- Stars: 1
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Ticket System
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**
### Test
The test consists of a basic **Ticket System** which includes the following modules:
1. Ticket Module (w/ CRUD)
2. Employee Module (w/ Login, and CRUD)
3. 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.
#### Sample Screens
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).
**Ticket Form**

- 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.
### Bonus Points
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:
1. Multiple employees assigned to tickets
2. Add ticket statuses dynamically
3. Clean Front-End
4. Use a well known front-end framework/library (VueJS, ReactJS, AngularJS)
5. Implement TDD (Test Driven Development)
6. Form Validations (Back End and Front End)
7. Code Complexity Analisis
8. Documentation
9. Using **Docker**
### Submission
In order for the submission of the test to be successful you need to perform the following steps:
1. Ensure functionality of the code (Once submitted and reviewed no further changes will be permitted for a second review).
2. All the code must be hosted under your personal GitHub account.
3. If a database is used, make sure to provide the initial structure for it as well (also inside your repository)
4. 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.**
5. When ready to submit, reply to the pre-existent email trail with the link to your repository.
### Questions
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.