Free, open source, Wakatime-compatible coding time tracker
Find a file
dependabot[bot] 4aa7384e9c
Bump selenium-webdriver from 4.38.0 to 4.39.0 (#695)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-09 17:49:45 -05:00
.github Bump actions/checkout from 5 to 6 (#641) 2025-11-20 14:07:08 -05:00
.kamal Initial commit 2025-02-16 03:21:30 -05:00
app redo sign in styles (#696) 2025-12-08 20:29:27 -05:00
bin erb_linting (#637) 2025-11-17 17:47:26 -05:00
config only enable sentry on prod (#697) 2025-12-09 14:16:08 -05:00
db data deletion oneshot (#691) 2025-12-07 22:49:40 -05:00
docs Add Unreal Engine 4 Setup Guide (#618) 2025-11-14 09:18:52 -05:00
lib Add consistent helper to transform language, editor, and OS names 2025-10-22 15:36:09 +00:00
log Initial commit 2025-02-16 03:21:30 -05:00
public redo sign in styles (#696) 2025-12-08 20:29:27 -05:00
script Initial commit 2025-02-16 03:21:30 -05:00
storage Initial commit 2025-02-16 03:21:30 -05:00
test Fix browser extension not working (#316) 2025-06-17 14:20:54 -04:00
tmp Initial commit 2025-02-16 03:21:30 -05:00
vendor Make users on calendar selectable 2025-05-14 19:00:05 -04:00
.dockerignore Initial commit 2025-02-16 03:21:30 -05:00
.env.example Remove wildcard/joker redirect 2025-06-09 14:41:26 -04:00
.erb_lint.yml erb_linting (#637) 2025-11-17 17:47:26 -05:00
.gitattributes Add heartbeat download (#457) 2025-08-07 15:36:36 -04:00
.gitignore Update .gitignore 2025-12-03 13:11:05 -05:00
.rubocop.yml Initial commit 2025-02-16 03:21:30 -05:00
.ruby-version bump ruby version to 3.4.7 (#627) 2025-11-15 18:17:57 -05:00
AGENTS.md AGENT.md -> AGENTS.md + improvements 2025-10-22 15:32:31 +00:00
config.ru Load autotuner in config.ru 2025-06-08 19:31:09 -04:00
docker-compose.yml Remove shared memory size in docker compose 2025-06-11 14:00:28 -04:00
Dockerfile bump ruby version to 3.4.7 (#627) 2025-11-15 18:17:57 -05:00
Dockerfile.dev bump ruby version to 3.4.7 (#627) 2025-11-15 18:17:57 -05:00
Dockerfile.production-worker bump ruby version to 3.4.7 (#627) 2025-11-15 18:17:57 -05:00
entrypoint.dev.sh Fix notification job missing class name 2025-02-22 01:58:46 -05:00
Gemfile Bump pagy from 43.1.8 to 43.2.0 (#686) 2025-12-04 16:58:42 -05:00
Gemfile.lock Bump selenium-webdriver from 4.38.0 to 4.39.0 (#695) 2025-12-09 17:49:45 -05:00
Procfile.dev star tailwind css migration 2025-06-18 19:16:37 -04:00
Rakefile Initial commit 2025-02-16 03:21:30 -05:00
README.md dumb errors 2025-06-24 16:15:28 -04:00
slack_manifest_harbor.yml Rename slack bot 2025-03-13 11:25:53 -04:00
slack_manifest_sailors_log.yml Add slack channel name to sailors log prefs 2025-03-11 22:05:10 -04:00
TODO.md Add /docs section 2025-05-28 17:15:22 -04:00

Hackatime

Ping Status Work time

Local development

# Set it up...
$ git clone https://github.com/hackclub/hackatime && cd hackatime

# Set your config
$ cp .env.example .env

Edit your .env file to include the following:

# Database configurations - these work with the Docker setup
DATABASE_URL=postgres://postgres:secureorpheus123@db:5432/app_development
WAKATIME_DATABASE_URL=postgres://postgres:secureorpheus123@db:5432/app_development
SAILORS_LOG_DATABASE_URL=postgres://postgres:secureorpheus123@db:5432/app_development

# Generate these with `rails secret` or use these for development
SECRET_KEY_BASE=alallalalallalalallalalalladlalllalal
ENCRYPTION_PRIMARY_KEY=32characterrandomstring12345678901
ENCRYPTION_DETERMINISTIC_KEY=32characterrandomstring12345678902
ENCRYPTION_KEY_DERIVATION_SALT=16charssalt1234

Comment out the LOOPS_API_KEY for the local letter opener, otherwise the app will try to send out a email and fail.

Build & Run the project

$ docker compose run --service-ports web /bin/bash

# Now, setup the database using:
app# bin/rails db:create db:schema:load db:seed

# Now start up the app:
app# bin/dev
# This hosts the server on your computer w/ default port 3000

# Want to do other things?
app# bin/rails c # start an interactive irb!
app# bin/rails db:migrate # migrate the database

You can now access the app at http://localhost:3000/

Use email authentication from the homepage with test@example.com or create a new user (you can view outgoing emails at http://localhost:3000/letter_opener)!

Ever need to setup a new database?

# inside the docker container, reset the db
app# $ bin/rails db:drop db:create db:migrate db:seed