mapfeiffer / project-time-tracker
A tool to track working time on projects with role management and create project reports. It is based on Kaido-Kit with Laravel & Filament and was an application test.
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
Requires
- php: ^8.2
- barryvdh/laravel-dompdf: ^3.1
- bezhansalleh/filament-shield: ^3.3
- coolsam/flatpickr: ^4.1
- dedoc/scramble: ^0.12.10
- dutchcodingcompany/filament-socialite: ^2.3
- filament/filament: ^3.2
- filament/spatie-laravel-media-library-plugin: ^3.2
- filament/spatie-laravel-settings-plugin: ^3.2
- hasnayeen/themes: *
- jeffgreco13/filament-breezy: ^2.4
- laravel/framework: ^12.0
- laravel/sanctum: ^4.0
- laravel/tinker: ^2.9
- owenvoke/blade-fontawesome: ^2.8
- pxlrbt/filament-excel: ^2.3
- resend/resend-laravel: ^0.16.1
- rupadana/filament-api-service: ^3.4.4
- socialiteproviders/google: ^4.1
- stechstudio/filament-impersonate: ^3.15
- torgodly/html2media: ^1.1
Requires (Dev)
- barryvdh/laravel-debugbar: ^3.14
- fakerphp/faker: ^1.23
- friendsofphp/php-cs-fixer: ^3.75
- laravel-shift/blueprint: ^2.10
- laravel/dusk: ^8.3
- laravel/pail: ^1.1
- laravel/pint: ^1.13
- laravel/sail: ^1.42
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.1
- pestphp/pest: ^3.6
- pestphp/pest-plugin-laravel: ^3.0
- phpstan/phpstan: ^2.1
This package is auto-updated.
Last update: 2025-05-21 11:05:26 UTC
README
A tool to track working time on projects with role management and create project reports.
It is based on Kaido-Kit (https://github.com/siubie/kaido-kit) with Laravel & Filament and was an application test.
✨ Features
-
Creating projects for which time can be booked ☑️
-
Booking working hours in quarter-hour increments: Always round upwards. One minute => 15 minutes. ☑️
-
Enter times in the format “Xh Ym”, where X and Y are integers ☑️
-
Entering times in machine hour format (0.25 - 1 for one hour) ☑️
-
Assigning times to days ☑️
-
Subsequent processing of bookings ☑️
-
“Month-end closing” where a summary is generated and the times are then unchangeable ☑️
-
Verification of the implementation using automated tests
-
Rights differentiation between administrators and users (users cannot perform monthly closings or delete projects) ☑️
🚀 Quick Start
Before beginning with the installation, you will need the following
- Docker
- Composer
Clone the repository
- Open your terminal or command prompt
- Navigate to the directory where you want to save the project
- Use the git clone command followed by the repository URL
git clone https://github.com/mapfeiffer/project-time-tracker.git
Copy example env file to .env
cp .env.example .env
Install composer packages
composer install
Sail build & start
./vendor/bin/sail up -d
Login into laravel container
./vendor/bin/sail bash
Run mpm install and build
npm install
npm run build
Run setup. Includes creating users, roles and example data
composer setup
Create an App key
php artisan key:generate
Using
- Go to login page (http://127.0.0.1/) and login as "admin@admin.com" with password "password".
- Or use one of the developer accounts. (developer1@admin.com & password).
- As an administrator, you can create projects and reports.
- As a developer, you can add time periods to projects and edit/delete them.
- As an administrator, you can change access for any user. For example, you can give a user administrator permissions.
🧪 Testing
Run browser tests with dusk
php artisan dusk:install php artisan dusk
Run PHPUnit test
php artisan test tests/Unit/CheckPeriodTraitTest.php
🧹 Code style and static code analysis
Run PHP CS Fixer
./vendor/bin/php-cs-fixer fix app
Run PHPStan
./vendor/bin/phpstan analyse app