ignamiguel / fiuba-75.09-aninfo-psa

This repo keeps all the source code of 75.09 ANINFO PSA Time Tracker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status

PSA - TimeTracker

The BE has been generated using LoopBack. The FE has been generated using Create React App.

Build and Deployment

Build Backend

There is no build command necessary for the BE to build

Build Frontend

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.

Start MySQL

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.

Run Application

In order to run the application, the following command must be executed:

node .

API

The Application is exposed in port 8080 and API endpoints are found under api path.

Swagger

The Application includes Swagger documentation in /explore path

Test

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>

About

This repo keeps all the source code of 75.09 ANINFO PSA Time Tracker


Languages

Language:JavaScript 90.4%Language:Gherkin 7.5%Language:HTML 2.2%