Skip to content

ntidev/invoice-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Invoice 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 Invoice System which includes the following modules:

  1. Login
  2. Customer Module (w/ CRUD)
  3. Invoice Module (w/ CRUD)
  4. 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.

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
Login
Note: Initially, a manual user account can be created in the database. Forgot password button is optional.

Invoices
Invoices
Note: This section shows the list of invoices.

Invoice View/New/Edit
Invoice View/Edit/New
Note: This section shows a form to create, edit invoice.

Customers
Customers
Note: This section shows the list of customers.

Customers View/New/Edit
Customers View/Edit/New
Note: This section shows a form to create, edit customers.

Report
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.

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:

  1. Clean Front-End
  2. Use a well known front-end framework/library (VueJS, ReactJS, AngularJS)
  3. Implement TDD (Test Driven Development)
  4. Form Validations (Back End and Front End)
  5. Code Complexity Analisis
  6. Documentation
  7. 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.
  5. Specify how to login into the system (if needed)
  6. 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.

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published