PHP Classes

PHP Timesheet Management System: Manage project tasks and the respective work times

Recommend this page to a friend!
  Info   View files Documentation   View files View files (67)   DownloadInstall with Composer Download .zip   Reputation   Support forum (1)   Blog    
Ratings Unique User Downloads Download Rankings
StarStar 35%Total: 610 All time: 5,133 This week: 560Up
Version License PHP version Categories
timesheet-manager 1GNU General Publi...7Project Management, PHP 7
Description 

Author

This package can manage project tasks and the respective work times.

It provides a Web user interface to organize projects being recording the descriptions and the time each task takes to be executed.

The package can also create a PDF reports that can be used to show to customers the work that has been done.

Innovation Award
PHP Programming Innovation award nominee
August 2018
Number 4
Time management is a challenging problem for people that are responsible for managing projects that involve multiple people.

This package implements a Web based application that allows users to manage project tasks while tracking the time that take to execute those tasks, as well generating reports that can be shown to the project customers.

Manuel Lemos
Picture of Istvan Dobrentei
  Performance   Level  
Name: Istvan Dobrentei <contact>
Classes: 12 packages by
Country: Hungary Hungary
Age: 46
All time rank: 134711 in Hungary Hungary
Week rank: 295 Up5 in Hungary Hungary Up
Innovation award
Innovation award
Nominee: 9x

Winner: 1x

Documentation

timesheet-manager

Add projects/tasks and their working times and generate reports from it

The main goal of this project is to create a simple but effective and useful web application to record working time. It can use any freelancers for their time and material based projects. It could be a multi user system with more complex functions but I currently focus on a simple single use case. The backend is Slim PHP Framework + mysql database and PHP Unit Tests the frontend is VUE js framework. See more on the wiki pages.

How to use:

I tested with PHP 7.0 and MySql 5.7.12

  1. setup database, create database and schema, see db folder
  2. install the first test user, see db folder first_user.sql (password: test)
  3. install project dependencies using composer install

With docker:

  • setup your environment: see docker-compose.yml and docker/nginx/nginx.conf file
  • run from the project root the following command: docker-compose up -d

Without docker:

  • cd public folder and run the following command: DB_HOST="127.0.0.1" DB_USER="<your db user>" DB_PASS="<your db password>" DB_NAME="timesheet_manager" php -d variables_order=EGPCS -S localhost:8000
  • open browser and type http://localhost:8000/

If you modify the frontend code, install dpendencies using npm and after build with npm run build command


  Files folder image Files  
File Role Description
Files folder imagedb (3 files)
Files folder imagedoc (2 files)
Files folder imagedocker (2 directories)
Files folder imagelang (3 files)
Files folder imagelib (5 files, 2 directories)
Files folder imagepublic (1 file, 3 directories)
Files folder imagetemplates (1 file)
Files folder imagetests (9 files)
Accessible without login Plain text file .babelrc Data Auxiliary data
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file config.xml Data Auxiliary data
Accessible without login Plain text file docker-compose.yml Data Auxiliary data
Accessible without login Plain text file LICENSE Lic. License text
Accessible without login Plain text file log_config.xml Data Auxiliary data
Accessible without login Plain text file package.json Data Auxiliary data
Accessible without login Plain text file README.md Doc. Documentation
Accessible without login Plain text file webpack.config.js Data Auxiliary data

  Files folder image Files  /  db  
File Role Description
  Accessible without login Plain text file create.sql Data Auxiliary data
  Accessible without login Plain text file first_user.sql Data Auxiliary data
  Accessible without login Image file schema.png Data Auxiliary data

  Files folder image Files  /  doc  
File Role Description
  Accessible without login Plain text file uml-use-case-diagram.mdj Data Auxiliary data
  Accessible without login Image file uml-use-case-diagram.png Data Auxiliary data

  Files folder image Files  /  docker  
File Role Description
Files folder imagenginx (1 file, 2 directories)
Files folder imagephp (1 file, 2 directories)

  Files folder image Files  /  docker  /  nginx  
File Role Description
Files folder imageconf.d (1 file)
Files folder imageetc (2 files)
  Accessible without login Plain text file Dockerfile Data Auxiliary data

  Files folder image Files  /  docker  /  nginx  /  conf.d  
File Role Description
  Accessible without login Plain text file timesheet-manager.docker.conf Data Auxiliary data

  Files folder image Files  /  docker  /  nginx  /  etc  
File Role Description
  Accessible without login Plain text file mime.types Data Auxiliary data
  Accessible without login Plain text file nginx.conf Data Auxiliary data

  Files folder image Files  /  docker  /  php  
File Role Description
Files folder imagephp55 (1 file)
Files folder imagephp7 (1 file)
  Accessible without login Plain text file php.ini Data Auxiliary data

  Files folder image Files  /  docker  /  php  /  php55  
File Role Description
  Accessible without login Plain text file Dockerfile Data Auxiliary data

  Files folder image Files  /  docker  /  php  /  php7  
File Role Description
  Accessible without login Plain text file Dockerfile Data Auxiliary data

  Files folder image Files  /  lang  
File Role Description
  Accessible without login Plain text file de_DE.php Aux. Auxiliary script
  Accessible without login Plain text file en_US.php Aux. Auxiliary script
  Accessible without login Plain text file hu_HU.php Aux. Auxiliary script

  Files folder image Files  /  lib  
File Role Description
Files folder imageAction (4 files)
Files folder imageDB (9 files)
  Plain text file AuthMiddleware.php Class Class source
  Plain text file Config.php Class Class source
  Plain text file Password.php Class Class source
  Plain text file PHPReport.php Class Class source
  Plain text file Report.php Class Class source

  Files folder image Files  /  lib  /  Action  
File Role Description
  Plain text file ApiLoginAction.php Class Class source
  Plain text file ApiProjectAction.php Class Class source
  Plain text file ApiWorkingTimeAction.php Class Class source
  Plain text file HomeAction.php Class Class source

  Files folder image Files  /  lib  /  DB  
File Role Description
  Plain text file BaseDB.php Class Class source
  Plain text file ExceptionMessagesDB.php Class Class source
  Plain text file iDB.php Class Class source
  Plain text file InvoiceDB.php Class Class source
  Plain text file InvoiceItemsDB.php Class Class source
  Plain text file ProjectDB.php Class Class source
  Plain text file UserDB.php Class Class source
  Plain text file UserProjectDB.php Class Class source
  Plain text file WorkingTimeDB.php Class Class source

  Files folder image Files  /  public  
File Role Description
Files folder imagecss (1 file)
Files folder imageimg (2 files)
Files folder imagejs (1 directory)
  Accessible without login Plain text file index.php Example Example script

  Files folder image Files  /  public  /  css  
File Role Description
  Accessible without login Plain text file frontend.css Data Auxiliary data

  Files folder image Files  /  public  /  img  
File Role Description
  Accessible without login Image file clock.png Data Auxiliary data
  Accessible without login Image file favicon.ico Data Auxiliary data

  Files folder image Files  /  public  /  js  
File Role Description
Files folder imagefrontend (5 files, 1 directory)

  Files folder image Files  /  public  /  js  /  frontend  
File Role Description
Files folder imagecomponents (6 files)
  Accessible without login Plain text file auth-guard.js Data Auxiliary data
  Accessible without login Plain text file main.js Data Auxiliary data
  Accessible without login Plain text file main.vue Data Auxiliary data
  Accessible without login Plain text file router.js Data Auxiliary data
  Accessible without login Plain text file store.js Data Auxiliary data

  Files folder image Files  /  public  /  js  /  frontend  /  components  
File Role Description
  Accessible without login Plain text file dashboard.vue Data Auxiliary data
  Accessible without login Plain text file login.vue Data Auxiliary data
  Accessible without login Plain text file Menu.vue Data Auxiliary data
  Accessible without login Plain text file Project.vue Data Auxiliary data
  Accessible without login Plain text file Summary.vue Data Auxiliary data
  Accessible without login Plain text file WorkingTime.vue Data Auxiliary data

  Files folder image Files  /  templates  
File Role Description
  Accessible without login HTML file home.html Doc. Documentation

  Files folder image Files  /  tests  
File Role Description
  Plain text file ApiLoginActionTest.php Class Class source
  Plain text file ApiProjectActionTest.php Class Class source
  Plain text file DatabaseTriggerTest.php Class Class source
  Accessible without login Plain text file phpunit.xml Data Auxiliary data
  Plain text file ProjectDBTest.php Class Class source
  Accessible without login Plain text file testAll.sh Data Auxiliary data
  Plain text file TestBase.php Class Class source
  Plain text file UserDBTest.php Class Class source
  Plain text file WorkingTimeDBTest.php Class Class source

 Version Control Unique User Downloads Download Rankings  
 100%
Total:610
This week:0
All time:5,133
This week:560Up
 User Ratings  
 
 All time
Utility:43%StarStarStar
Consistency:43%StarStarStar
Documentation:43%StarStarStar
Examples:43%StarStarStar
Tests:-
Videos:-
Overall:35%StarStar
Rank:4109