PHPackages                             azaharizaman/nexus-time-tracking - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. azaharizaman/nexus-time-tracking

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

azaharizaman/nexus-time-tracking
================================

Time entry and timesheet rules: hours validation, approval workflow, immutability. Reusable for projects, support, internal work.

v0.1.0-alpha1(1mo ago)00MITPHPPHP ^8.3

Since May 5Pushed 1mo agoCompare

[ Source](https://github.com/azaharizaman/nexus-time-tracking)[ Packagist](https://packagist.org/packages/azaharizaman/nexus-time-tracking)[ RSS](/packages/azaharizaman-nexus-time-tracking/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (3)Versions (2)Used By (0)

Nexus\\TimeTracking
===================

[](#nexustimetracking)

Time entry and timesheet rules (hours, approval, immutability) for the Nexus ERP ecosystem.

Overview
--------

[](#overview)

The **Nexus\\TimeTracking** package is a Layer 1 atomic package that owns timesheet entry (date, hours, optional work item ID), validation (e.g. hours not negative, max 24h/day/user), approval state machine, immutability of approved timesheets, and rules for billing rate default. No project/task persistence—only IDs and interfaces for work item and approver. Reusable for any domain that logs time.

Architecture
------------

[](#architecture)

- **Layer 1 Atomic Package.** Pure PHP 8.3+. No framework dependencies.
- **Namespace:** `Nexus\TimeTracking`

Key Interfaces
--------------

[](#key-interfaces)

- `TimesheetManagerInterface` – create/update timesheet lifecycle
- `TimesheetQueryInterface` – read timesheets
- `TimesheetPersistInterface` – persistence contract
- `TimesheetApprovalInterface` – approval workflow

Requirements (mapped)
---------------------

[](#requirements-mapped)

- FUN-PRO-0254/0566: Time tracking and timesheet entry
- FUN-PRO-0575: Timesheet approval workflow
- BUS-PRO-0056: Timesheet hours cannot be negative or exceed 24h/day/user
- BUS-PRO-0063: Approved timesheets are immutable
- BUS-PRO-0070: Task actual hours = sum of approved timesheet hours
- BUS-PRO-0101/0125, REL-PRO-0396, SEC-PRO-0460

Installation
------------

[](#installation)

```
composer require azaharizaman/nexus-time-tracking
```

License
-------

[](#license)

MIT.

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance93

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

36d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/117408?v=4)[Azahari Zaman](/maintainers/azaharizaman)[@azaharizaman](https://github.com/azaharizaman)

---

Top Contributors

[![azaharizaman](https://avatars.githubusercontent.com/u/117408?v=4)](https://github.com/azaharizaman "azaharizaman (5 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/azaharizaman-nexus-time-tracking/health.svg)

```
[![Health](https://phpackages.com/badges/azaharizaman-nexus-time-tracking/health.svg)](https://phpackages.com/packages/azaharizaman-nexus-time-tracking)
```

###  Alternatives

[symfony/lock

Creates and manages locks, a mechanism to provide exclusive access to a shared resource

515135.1M619](/packages/symfony-lock)[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.6k38.2k](/packages/matomo-matomo)[phpro/soap-client

A general purpose SoapClient library

8895.9M52](/packages/phpro-soap-client)[ecotone/ecotone

Enterprise architecture layer for Laravel and Symfony — CQRS, Event Sourcing, Durable Workflows (Sagas, Orchestrators), Projections, and Outbox messaging via PHP attributes.

562565.8k41](/packages/ecotone-ecotone)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

744284.3k34](/packages/civicrm-civicrm-core)[illuminate/broadcasting

The Illuminate Broadcasting package.

7126.9M199](/packages/illuminate-broadcasting)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
