- Setup Instructions
- Baseline Requirements
- Application Requirements
- Setup Instructions
- Usage
- Testing
- License
Please refer to the respective directories for detailed instructions on how to set up and run each part of the application:
- For the Backend: Navigate to the backend directory for setup and execution instructions.
- For the Frontend: Navigate to the frontend directory for setup and execution instructions.
- Design Practices: The application is designed using good object-oriented design practices including Inheritance, Abstraction, and Encapsulation. SOLID principles are applied to ensure maintainability and flexibility.
- IDE: Developed using an open-source Java IDE such as IntelliJ IDEA Community, NetBeans IDE, or Eclipse IDE.
- Version Control: The solution is published in a public DVCS repository (e.g., GitHub).
- Configuration Management: The solution is fully downloadable, compile-able, and executable with clear instructions provided for setup and execution.
- Type: MVC Application
- Framework: Spring Boot (recommended for simplicity)
- Packaging: Delivered as a WAR file
- Deployment: Deployable on Wildfly Server or Spring Boot auto-container
- JDK: Requires JDK 1.8+
-
Data Access Layer: Consumes the following REST APIs:
http://dummy.restapiexample.com/api/v1/employeeshttp://dummy.restapiexample.com/api/v1/employee/1
-
Business Logic: Implements a Business class to compute:
employee_anual_salary = employee_salary x 12
-
Controller Class: Provides methods to:
- Return the list of employees.
- Return employee data by ID.
-
User Interface:
- Text Box: For user input of employee ID.
- Search Button: Executes employee search.
- Search Logic: If the text box is empty, return the complete employee list. If it contains a valid ID, return information for that specific employee.
- Display: Shows the employee list in a table or grid, including the annual salary computation.
- Design: Utilizes Bootstrap or Material Design. Contains a menu and brand image.
-
Front-end Technologies:
- Choice: ReactJS and Material Design (with TypeScript and Sass)
-
Unitary Tests:
- Includes unit tests for at least one business layer method using JUnit5.
- Java Spring Boot: Developed with JUnit5.
- React: Developed with Jest, React Testing Library (RTL), axios-mock-adapter, babel-jest, and Jest DOM.
# Clone repo
$ git clone git@github.com:WilliamPerezBeltran/pruebaThales.git
# Go to app directory
$ cd pruebaThales
read instructions