PHP Classes

How to Use a PHP Schedule Work Application to Manage People Work Using the Package too-vark: Manage people work schedule times and tasks

Recommend this page to a friend!
  Info   Documentation   Screenshots   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2026-05-10 (2 days ago) RSS 2.0 feedNot yet rated by the usersTotal: Not yet counted Not yet ranked
Version License PHP version Categories
too-vark 1.0MIT/X Consortium ...5PHP 5, Tools, Project Management, App..., G...
Description 

Author

This package can manage people's work schedule times and tasks.

It provides a Web application that lets users perform several operations with work tasks and schedules.

Currently it can:

- Manage workers

- Define the worker schedules of tasks using a visual rule editor

- Track task progress in real time

The application uses SQLite to store the application database tables.

Picture of Uku-Kaarel Jo~esaar
Name: Uku-Kaarel Jo~esaar <contact>
Classes: 10 packages by
Country: Estonia Estonia
Innovation award
Innovation award
Nominee: 6x

Instructions

Please read this document to learn how to setup the application to manage work task schedules.

Documentation

icon-128.png Töö Värk ? Lightweight Work Scheduler

A zero-dependency, single-file PHP + SQLite work scheduling application for small teams. Define repeating schedules with a visual rule editor, track task progress in real time, manage workers ? all from one PHP file and one SQLite database.

Features

  • Visual rule editor with checkbox weekdays/weeks and time pickers
  • Monthly schedule generation from rules, with smart merge (never overwrites started tasks)
  • Real-time task tracking: Pending ? In Progress ? Done
  • Team overview with scroll-to-today, ad-hoc task assignment, batch print, CSV export
  • Location/object details management (address, contact, description) in dedicated tab
  • Bi-lingual UI (Estonian / English), PWA support
  • Single-file deployment via `compile.php`

Screenshots

img_admin_audits.jpeg img_admin_month.jpeg img_team_objects.jpeg img_workers_month.jpeg

Quick Start

git clone https://github.com/ukj/too-vark.git
cd too-vark

# Development
php -S localhost:8000

# Production ? compile to single file, deploy with app.sqlite
php compile.php

Default login: admin : admin ? change immediately in production!

Requirements

  • PHP 8.3+ with `pdo_sqlite`
  • Any web server (Apache, Nginx, or PHP built-in)

Project Structure

index.php              Entry point
compile.php            Build tool ? index_release.php  (GenDemoDB link ? tests/demo-db.php)
app.sqlite             SQLite database (auto-created)
src/                   Source files (PHP, JS, CSS)
plugins/               Plugins
tests/run.php          Test suite, demo database seed (40 workers + admin, org config, rules, 3-year task history)
Styleguide.html        CSS variable reference (dev only)

Testing

php tests/run.php

Self-contained, in-memory SQLite, no external test framework. See TESTING.md.

To populate a local database with realistic demo data (15 workers, org config, repeating rules, 3-year task history with ~50k tasks):

php tests/demo-db.php   # writes app-demo.sqlite to project root
YEARS=5 php tests/demo-db.php   # 5-year dataset for stress testing

The compile.php admin page includes a GenDemoDB link that runs this script in-browser during development. Rename app-demo.sqlite to app.sqlite or DB_FILE in index.php. admin:admin User Name => usern:usern123 .

Documentation

Configuration

Constants at the top of index.php: USER1 (admin username), USER1_INITIAL_PASS (initial password), ORG_NAME (page title), APP_DEBUG. Timezone defaults to Europe/Tallinn. App icon.png

Security

Passwords use bcrypt. Admin account requires password change on first login. Login rate-limited to 5 attempts per IP (5-minute window). All POSTs require CSRF token. All SQL uses prepared statements. Database errors are logged server-side, never exposed to clients. Put database to safe location outside web dir., block direct access to .sqlite files on your web server.

Licence

MIT


Screenshots (4)  
  • img_admin_audits.jpeg
  • img_admin_month.jpeg
  • img_team_objects.jpeg
  • img_workers_month.jpeg
  Files folder image Files (39)  
File Role Description
Files folder imageplugins (5 files)
Files folder imagesrc (11 files)
Files folder imagetests (5 files)
Plain text file CHANGELOG.md Class Class source
Accessible without login Plain text file compile.php Aux. Auxiliary script
Accessible without login Plain text file CONTRIBUTING.md Data Auxiliary data
Accessible without login Image file icon-128.png Icon Icon image
Accessible without login Image file icon.png Icon Icon image
Accessible without login Plain text file index.php Appl. Application script
Plain text file index_release.php Class Class source
Accessible without login Plain text file LICENSE Lic. License text
Accessible without login Plain text file README.md Doc. Documentation
Accessible without login Plain text file README_FIRST.md Doc. Documentation
Accessible without login HTML file Styleguide.html Doc. Documentation
Accessible without login Plain text file TESTING.md Doc. Documentation
Accessible without login Plain text file TooVark-Seletus.md Doc. Documentation
Accessible without login Plain text file TooVark-Specification.md Doc. Documentation

  Files folder image Files (39)  /  plugins  
File Role Description
  Accessible without login Plain text file audit2.css Data Auxiliary data
  Accessible without login Plain text file audit2.js Data Auxiliary data
  Accessible without login Plain text file audit2.php Appl. Application script
  Accessible without login Plain text file config.php Example Example script
  Accessible without login Plain text file debug.php Aux. Configuration script

  Files folder image Files (39)  /  src  
File Role Description
  Accessible without login Plain text file api.php Appl. Application script
  Accessible without login Plain text file api_handlers.php Appl. Application script
  Accessible without login Plain text file app.js Data Auxiliary data
  Accessible without login Plain text file database.php Aux. Auxiliary script
  Accessible without login Plain text file debug.js Data Auxiliary data
  Plain text file helpers.php Class Class source
  Accessible without login Plain text file i18n.php Conf. Configuration script
  Accessible without login Plain text file init.js Data Auxiliary data
  Accessible without login Plain text file plugins.php Aux. Auxiliary script
  Accessible without login Plain text file style.css Data Auxiliary data
  Accessible without login Plain text file views.php Aux. Auxiliary script

  Files folder image Files (39)  /  tests  
File Role Description
  Accessible without login HTML file audit_plugin.html Doc. Documentation
  Accessible without login Plain text file demo-db.php Example Example script
  Accessible without login Plain text file eruda.js Data Auxiliary data
  Accessible without login Plain text file run.php Example Example script
  Accessible without login HTML file run_js.html Doc. Documentation

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads  
 100%
Total:0
This week:0