Open source time keeping
  • TypeScript 96.3%
  • CSS 2.7%
  • Dockerfile 1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2025-12-19 21:01:33 +01:00
.vscode feat: project creation 2025-10-03 20:11:26 +02:00
app fix: run linter 2025-10-17 18:45:39 +02:00
components fix: bugfixes and export adjustments 2025-10-17 18:43:44 +02:00
dockerized feat: docker 2025-10-21 09:57:59 +02:00
drizzle feat: docker 2025-10-21 09:57:59 +02:00
lib fix: run linter 2025-10-17 18:45:39 +02:00
public Initial commit from Create Next App 2025-10-03 19:41:43 +02:00
.gitignore feat: db schema 2025-10-03 20:22:06 +02:00
auth-schema.ts fix: run linter 2025-10-17 18:45:39 +02:00
biome.json fix: run linter 2025-10-17 18:45:39 +02:00
bun.lock fix: bump next 2025-12-19 21:01:33 +01:00
components.json fix: run linter 2025-10-17 18:45:39 +02:00
docker-compose.yml fix: comments 2025-10-21 09:58:53 +02:00
Dockerfile feat: docker 2025-10-21 09:57:59 +02:00
drizzle.config.ts feat: project creation 2025-10-03 20:11:26 +02:00
LICENSE feat: project creation 2025-10-03 20:11:26 +02:00
next.config.ts fix: run linter 2025-10-17 18:45:39 +02:00
package.json fix: bump next 2025-12-19 21:01:33 +01:00
postcss.config.mjs fix: run linter 2025-10-17 18:45:39 +02:00
README.md doc: readme 2025-10-21 14:42:51 +02:00
screenshot.png doc: readme 2025-10-21 14:42:51 +02:00
tsconfig.json fix: run linter 2025-10-17 18:45:39 +02:00

TimeTrack

Opensource timekeeping and time tracking.

Did you ever want to know how much time you wasted on a project? no? Well now you can!

Support for multiple projects and unique time tracking per project.

screenshot

Setup

There are multiple ways to run TimeTrack

  • Download and run the docker compose (docker compose up -d)

  • Deploy on vercel (Clone the repo, change the adapter in drizzle.config.ts to whatever database provider you prefer and deploy)

  • Development / bare metal (bun install followed by bun run dev or bun run start)

Nomatter how you run it, you will have to decide a few things and set some environment variables.

A Postgresql Database is required.

Once a database is configured, set it up using the DATABASE_URL environment variable.

Generate a random string for the BETTER_AUTH_SECRET variable and set BETTER_AUTH_URL to your applications base url.

Then, depending on your choice of identity provider, either set MICROSOFT_CLIENT_ID and MICROSOFT_CLIENT_SECRET or GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET to their respective values. (If both are provided, Microsoft auth is used)

For more details, see the better-auth docs.

Docker

In the simplest form, clone this repository, edit the docker-compose.yml and set your env variables and then run docker-compose up -d to start the server. This includes a postgres DB.

Vercel

Clone the repository and run vercel --prod to deploy to your project. Dont forget to attach a Neon database and run bunx drizzle-kit push to apply the schema. (Set the appropriate env variables)

Development

For Development, clone the repository, run bun install and either bun run dev or bun run build followed by bun run start. (again, set the appropriate env variables)

If you are not using a Neon serverless DB, copy the appropriate files from the dockerized folder and overwrite the ones in root.