Kimai v2 is web based Timetracker: multi-user application for time-tracking using Symfony 4 and the AdminLTE theme. Can be used by Freelancers, Agencies and Companies to track employee working-times and generate invoices.
Clone or download
Permalink
Failed to load latest commit information.
.github added lock-bot config #183 (#186) Jun 29, 2018
assets toolbar - always allow to choose global activities (#410) Nov 12, 2018
bin upgraded to symfony 4 #74 (#81) Jan 12, 2018
config beta test: added quick search box for customers, projects and activit… Nov 6, 2018
public toolbar - always allow to choose global activities (#410) Nov 12, 2018
src toolbar - always allow to choose global activities (#410) Nov 12, 2018
templates fix duration and rate for html invoices (#414) Nov 12, 2018
tests toolbar - always allow to choose global activities (#410) Nov 12, 2018
translations option to move entries from one entity to another upon deletion (#409) Nov 11, 2018
var added further timesheet related invoice fields (#411) Nov 12, 2018
.editorconfig various documentation updates (#176) Jun 23, 2018
.env.dist prepare release 0.3 (#231) Jul 22, 2018
.github_changelog_generator bump version number for development (#375) Oct 25, 2018
.gitignore improved invoices with new renderer (#306) Sep 20, 2018
.php_cs.dist code styles: header_comment and ordered_imports (#175) Jun 23, 2018
.scrutinizer.yml added invoice voter (#316) Sep 22, 2018
.travis.yml timesheet export (#317) Sep 24, 2018
CHANGELOG.md bump version number for development (#375) Oct 25, 2018
CONTRIBUTING.md various documentation updates (#176) Jun 23, 2018
Dockerfile added dockerfile for development (#377) Oct 31, 2018
LICENSE about screen with debug information for super-admin (#378) Oct 29, 2018
README.md fixed docu: issues- & milestone links (#395) Nov 6, 2018
UPGRADING.md prepare release 0.5 (#326) Sep 27, 2018
composer.json removed deprecated symfony/lts and updated all other packages (#354) Oct 12, 2018
composer.lock removed deprecated symfony/lts and updated all other packages (#354) Oct 12, 2018
package.json updated to AdminLTE 2.4.8 (#274) Aug 17, 2018
phpunit.xml.dist timesheet export (#317) Sep 24, 2018
symfony.lock removed deprecated symfony/lts and updated all other packages (#354) Oct 12, 2018
webpack.config.js timesheet export (#317) Sep 24, 2018
yarn.lock updated to AdminLTE 2.4.8 (#274) Aug 17, 2018

README.md

Kimai v2 - Time Tracking

Kimai v2 - the open source time-tracking application with a mobile-first approach, read more at the official website.

Latest Stable Version License Travis Status Code Quality Code Coverage Scrutinizer Status

Introduction

This is the reloaded version of the open source timetracker Kimai. The new version has not much in common with its predecessor Kimai v1 besides the basic ideas of time-tracking and the current development team.

Right now its in an early development phase, its usable but some advanced features from Kimai v1 are missing by now (like export and ODT invoices). But we already support to import your timesheets from Kimai v1.

It is developed with modern frameworks like Symfony v4, Doctrine, AdminLTE and many more.

Kimai is a multi-language application and already translated to: English, German, Italian, French, Spanish, Russian, Arabic and Hungarian. If you want to support us in translating Kimai, please read this documentation.

Requirements

Documentation & Roadmap

Looking for more information about using Kimai? Check out our more detailed documentation.

You can see our development roadmap for the future in the Milestones sections.

Our roadmap is open for changes and input from the community, please send us your ideas and questions.

Installation

NOTE

There are further infos about installation if you have to use FTP, want to develop with Kimai or are setting up Kimai on your personal computer. There is also a docker image available.

If you want to install Kimai 2 in your production environment, then SSH into your server and change to your webserver root. You need to install Git and Composer if you haven't already.

First clone this repo:

git clone https://github.com/kevinpapst/kimai2.git
cd kimai2/

Make sure the file permissions are correct and create your .env file:

chown -R :www-data .
chmod -R g+r .
chmod -R g+rw var/
cp .env.dist .env

It's up to you which database server you want to use, Kimai v2 supports MySQL/MariaDB and SQLite, but SQLite is not recommended for production usage. Configure the database connection string in your the .env file:

# adjust all settings in .env to your needs
APP_ENV=prod
DATABASE_URL=mysql://user:password@127.0.0.1:3306/database

Now install all dependencies for Kimai 2:

sudo -u www-data composer install --no-dev --optimize-autoloader

Optionally create the database:

bin/console doctrine:database:create

Create all schema tables:

bin/console doctrine:schema:create

Make sure that upcoming updates can be correctly applied by setting the initial database version:

bin/console doctrine:migrations:version --add --all

Warm up the cache (as webserver user):

sudo -u www-data bin/console cache:warmup --env=prod

Create your first user with the following command. You will be asked to enter a password afterwards:

bin/console kimai:create-user username admin@example.com ROLE_SUPER_ADMIN

Tip: You can skip the "create user" step, if you are going to import data from Kimai v1.

For available roles, please refer to the user documentation.

NOTE

If you want to use a fully-featured web server (like Nginx or Apache) to run Kimai, configure it to point at the public/ directory of the project. For more details, see: http://symfony.com/doc/current/cookbook/configuration/web_server_configuration.html

Installation complete: enjoy time-tracking :-)

Updating Kimai

NOTE

Don't forget tweaks that may be necessary to these instructions if you are using FTP, developing or updating on your personal computer instead of a server. See further infos about installation.

STOP

  1. It's important that you don't execute the Installation steps before or after your upgrade
  2. Make sure that you have a working database backup before you start the update
  3. Read the UPGRADING guide and release information to check if there a further steps required

Get the latest code and install dependencies:

cd kimai2/
git pull origin master
sudo -u www-data composer install --no-dev --optimize-autoloader

Refresh your cache:

sudo -u www-data bin/console cache:clear --env=prod
sudo -u www-data bin/console cache:warmup --env=prod

And upgrade your database:

bin/console doctrine:migrations:migrate

Done! You can use the latest version of Kimai 2.

Rolling releases & Git

Please note: Kimai 2 uses a rolling release concept for delivering updates. Release versions will be created on a regular base and you can use these tags if you are familiar with Git, but we will not provide support for any specific version (whether its bugs or installation/update docu).

Every code change, whether it's a new features or bug fixes, will be targeted against the master branch and intensively tested before merging. We have to go this way, as we develop Kimai in our free time and want to put our effort into the software instead of installation scripts and complicated upgrade processes.

Extensions for Kimai 2

As Kimai 2 was built on top of Symfony, it can be extended like every other Symfony application. We call these extensions bundles, but you might also know them as add-ons, extensions or plugins.

All available Kimai 2 bundles can be found at the Kimai recipes repository.

Developer

If you want to develop with and for Kimai 2 please read the following documentation: