The BE has been generated using LoopBack. The FE has been generated using Create React App.
There is no build command necessary for the BE to build
The following command will rebuild only the Frontend and must be executed inside the client_src
directory:
npm run-script build
This command will build the React Application and copy the build
folder to the client folder from the higher level.
Alternately, the same command can be executed from the root path, and it will move to the client_src
directory, run the same command and get back to the root path.
The Application uses MySQL as datasource. A database called timetracker
must be created before running the application among with the following tables:
- Project
- Worker
- Task
- Hour
Two migration scripts are available under the /resources
folder:
01_tables_creation.sql
creates the DB tables.02_test_data.sql
creates some test data.
In order to run the application, the following command must be executed:
node .
The Application is exposed in port 8080 and API endpoints are found under api
path.
The Application includes Swagger documentation in /explore
path
In order to test the E2E Flows using Cucumber-JS, the following command must be executed:
npm test
A JSON report can be found under test/report/cucumber_report.json
. The JSON report can be transformed to a HTML by executing the following command:
npm run-script report
In order to run the E2E UI tests with Protractor follow these steps:
# Run the app in background
node . &
# Then run
npm run test:e2eui
# To stop the app, search for node process running the app and kill it with
kill -9 <pid>