ryanwhowe / statusboard

This is a personal status board project that is not really written to be shared
1 stars 0 forks source link

statusboard

This is a personal status board project that was not written to be shared, the documentation is very spotty and the front end is in need of a makeover, which is going to be rewritten utilizing React.js with an updated backend upgraded to either laravel or symfony 5.

Setup Local Dev

Setup has been updated to utilize docker for local development.

Create a Docker Override file

copy the override example file to create your own local version

cp docker-compose.override.yml.example docker-compose.override.yml

The path placeholder needs to be updated

replace <path_to_solution> with the absolute path to your solution files

Create Parameters file

This file need to be created and have the secrets added, or it needs to be pulled from archives

cd app\config
cp parameters.yml.dist parameters.yml

Bring up the Docker config

docker-compose up -d --build

Build the dependencies for the project

docker-compose exec php composer i
docker-compose exec php npm run asset-install

Build the local sqlite database, and optionally seed the database from csv pump files.

WARNING: This command will drop and recreate the database if there is already a database file present.

docker-compose exec php bin/console app:buildDatabase [calendarfile.csv] [serverfile.csv]

Security

The following code is for generating a security token for the single log in account

php bin/console security:encode-password

Additional Utilities

There are some additional console utilities created for maintenance

Data Exports

Calendar Dump

docker-compose exec php bin/console app:ExportCaledarToCsv <outputFilename>

Server Dump

docker-compose exec php bin/console app:ExportServerToCsv <outputFilename>

Calendar Utilities

GeneratePayDates

The script will generate pay dates for the optionally passed year, or will generate them starting from 2007 to the current year. This utility will not create duplicate records, if a pay date already exists for one it generates it does not get written to the Database. For any year that is run, there should already be holidays imported for (both national and company), this data is required for determining the proper pay dates.

docker-compose exec php bin/console app:GeneratePayDates [year]

ImportHoliday

The script utilizes the free Calendarific api to load national US holidays into the database. If the optional year is specified that will be used otherwise all years from 2007 to present will be loaded. This will not create dupliate entries, if a national holiday already exists for a given date it will not be added to the database.

docker-compose exec php bin/console app:ImportHoliday [year]

Deprecated Utilities

These utilities have been deprecated and are not currently used

GetWeatherImages

This locally cached the Accuweather images files for use with their API. These images were too large, the implementation has been changed to utilize a weather font resource.

docker-compose exec php bin/console app:GetWeatherImages

yarnInstall

The front end assets previously were installed utilizing yarn, this has been update to utilize the run script via npm

docker-compose exec php bin/console app:yarnInstall