Skip to content
Simple work time clocking service
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
public
runtime init Dec 18, 2018
src
tests last tests + travis Feb 13, 2019
.gitignore
.travis.yml
LICENSE Initial commit Dec 18, 2018
README.md
composer.json font awesome Jan 29, 2019
phpunit.xml
yii

README.md

TimeClock

Latest Stable Version Total Downloads License Yii2

Simple work time clocking service built on Yii 2 framework.

screen

Installation

  1. Install TimeClock using Composer:

    composer create-project --prefer-dist bizley/timeclock timeclock

  2. Prepare virtual host pointing to /public directory.

  3. Prepare configuration for DB of your choice. Place it in /src/config/db.php.

  4. Modify the /src/config/web.php file to change:

    • timeZone (default UTC),
    • language (default en-US; pl translations are provided in /src/messages/pl folder),
    • components > mailer configuration to actually send emails (needed for password reset),
    • params > company (default Company Name; displayed in footer and other layout places),
    • params > email (default email@company.com; used as the email sender address for emails),
    • params > allowedDomains (default ['@company.com']; array with email domains allowed for registration).
  5. Change /public/index.php file to set YII_DEBUG mode to false and YII_ENV environment to prod.

  6. Apply migrations by running in console php yii migrate.

  7. Start webserver and register first account.

  8. If you want to make an account to be admin run in console php yii admin/set ID where ID is DB identifier of account to be set (usually first one is 1).

Ground rules

  • Registering account requires its email address to be in one of the provided domains. If you want to change this behavior you must prepare your own code. Current implementation is at /src/models/RegisterForm.php and /src/views/site/register.php.
  • Session can be started at any time but it must be ended not overlapping any other ended session.
  • There can be many sessions in one day.
  • Session can not be longer than midnight.
  • Not ended sessions not count for work hours.
  • Off-time must not overlap any other off-time period.
  • Holidays are automatically fetched from https://www.kalendarzswiat.pl which is Polish holiday list. If you want to use something different you must prepare your own code for this. Current implementation is at /src/models/Holiday.php.

Features

  • account registration
  • password reset
  • profile update
  • themes
  • signing in with login or PIN
  • session time with note
  • off-time with note
  • session and off-time history
  • calendar
  • holidays
  • admin section
  • REST API
  • Bootstrap 4 layout

General help

Read TimeClock Wiki first.

For anything related to Yii go to the Yii 2 Guide.
I really don't want to point obvious links with solutions from there.

Usage of this project

You can use this project in whatever way you like as long as you mention where did you get it from.

Screenshots

screen2

screen3

screen4

screen5

You can’t perform that action at this time.