Skip to content

Latest commit

 

History

73 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Plock

A vanilla Rails 8 time tracking and project management app.

CI coverage

What is Plock?

Plock is a small, self-hostable time tracker app for small companies with teams. Track hours against clients and projects, and export polished PDF reports. Built as vanilla Rails 8 with as few external dependencies as possible — easy to read, easy to deploy and easy to extend.

plock-demo-2.mp4

Features

  • Manual time tracking — log time against a project, a client, or no project at all.
  • Role-based access — three tiers:
    • Members track their own time.
    • Managers edit time for the teammates they manage.
    • Admins manage the whole company: team, projects, and clients.
  • Clients & projects — create, edit, archive (soft-deleted via disabled_at).
  • Project assignments — assign people to projects with per-project authorization.
  • PDF reports — polished reports via Prawn (app/services/reports/pdf/).
  • Dashboard & project status views — at-a-glance hours per person, per project, per client.

Tech stack

  • Ruby 4.x (see .ruby-version)
  • Rails 8.1
  • SQLite
  • Tailwind CSS 4
  • Hotwire (Turbo + Stimulus) with Propshaft, ImportMap (no JS build step)
  • Solid Queue / Solid Cache / Solid Cable
  • Prawn for PDF generation

Quickstart

Prerequisites:

  • Ruby 4.0.2 (use rbenv, asdf, or mise)
  • SQLite 3.45+
  • Google Chrome (for system tests)
  • libyaml (Linux only — apt-get install libyaml-dev)

Install and run:

bin/setup --skip-server  # install gems, prepare the database
bin/dev                  # start Rails + Tailwind watcher

App is at http://localhost:3000.

Testing

bin/rails test          # unit and integration tests
bin/rails test:system   # system tests (Capybara + Chrome)
bin/rubocop             # lint (rubocop-rails-omakase)
bin/brakeman --no-pager # security scan
bin/ci                  # run all of the above and more in sequence

CI runs the same commands on every PR.

Deploy

Plock is a standard Rails 8 app ready to be deployed using tools like ONCE, Kamal or any other deployment service.

Contributing

Contributions are welcome. See CONTRIBUTING.md for setup, conventions, and PR expectations. By participating you agree to abide by the CODE_OF_CONDUCT.md.

License

MIT — see LICENSE.

About

Simple Time Tracker

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

5 watching

Forks

Releases

Used by

Contributors

Languages