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 Invoice System which includes the following modules:
- Login
- Customer Module (w/ CRUD)
- Invoice Module (w/ CRUD)
- Report Module
The basic idea behind the application is that an Employee can log in and create/update/delete customers and invoices for those customers. In addition, those that login into the system can run reports that will show generated invoices in a period of time.
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 user account can be created in the database. Forgot password button is optional.
Invoices
Note: This section shows the list of invoices.
Invoice View/New/Edit
Note: This section shows a form to create, edit invoice.
Customers
Note: This section shows the list of customers.
Customers View/New/Edit
Note: This section shows a form to create, edit customers.
Report
Note: Initially, no data needs to be displayed until a date range is specified and the generate action is issued. The report shows invoices generated in the system during a timeframe.
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:
- 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.
- Specify how to login into the system (if needed)
- When ready to submit, reply to the pre-existent email trail with the link to your repository.
IMPORTANT
- NOTE THAT IF YOU LEAVE OUT CRUCIAL DETAILS ON HOW TO SETUP YOUR APPLICATION WE MAY NOT BE ABLE TO TEST IT.
- 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.
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.