Clockobot allows freelancers to track time against their estimates, create billable and non-billable time entries, and generate customized reports.
- Get valuable insights
- Generate tailored reports
- Multiple languages (de, en, es, fr)
- Team spirit: add as many users you want
- API ready (WIP)
- Darkmode available
More information about this project here www.clockobot.com.
Clockobot is built on top of Laravel using the TALL stack. To install it, ensure that you follow the steps below. If you encounter any difficulties, please refer to the extensive Laravel documentation before submitting a new issue.
- PHP 8.2.0 Required: latest Laravel requires PHP 8.2.0 or greater.
- curl 7.34.0: Laravel's HTTP client now requires curl 7.34.0 or greater.
- Clone the project:
git clone https://github.com/clockobot/clockobot.git
- Install composer dependencies:
composer install
- Install npm dependencies:
composer install
- Copy .env.example to .env and amend its values accordingly.
- Run
php artisan migrate
or if you want some dummy data runphp artisan migrate --seed
- Run
php artisan storage:link
- Run the app using
php artisan serve
or any other tool (we use Herd)
Before adding any user, you need to make sure you have amended these variables in your .env file.
MAIL_MAILER=
MAIL_HOST=
MAIL_PORT=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=
MAIL_FROM_ADDRESS=
MAIL_FROM_NAME="${APP_NAME}"
Feel free to use the setup you like when using Laravel apps: https://laravel.com/docs/11.x/mail
Open the site and register a new user. You will directly be redirected to the dashboard.
When using dummy data:
If you seeded dummy data during installation, you can login using the following credentials:
User: [email protected]
| Password: password
Once you're connected to the admin, create a new user using your email and make sure to assign admin rights to it . It will send you a link to reset your password. Once you've done so, login by using your newly created user. Feel free to then delete the default user created during installation. Note that deleting a user deletes all its data as well, so all the dummy data will be gone.
User registration hasn't been removed by default but as the app allows you to add users, you might want to disable registration depending on how you want it to be setup.
In order to do so, simply amend the value of APP_ALLOW_REGISTER
in the .env file (true/false).
While it isn't documented yet, Clockobot comes bundled with some endpoints that allow you to interact with its data from an external tool. As we have projects going this way for Clockobot, this part might evolve along the way. Meanwhile, you can check the app/Http/Controllers/Api
directory and the routes/api.php
file to see what endpoints are made available to you.
If you are interested in becoming a sponsor, please visit the Clockobot Patreon page.
To ensure a smooth and efficient contribution process, please follow the guidelines below.
Bug Fixes
- Branch: All bug fixes should be submitted to the latest version of the develop branch.
- Do not submit to main: Please do not submit bug fixes directly to the main or any tagged branches. This ensures that all changes undergo proper testing and review before being merged into the main codebase.
New Features
- Branch: If you are adding a new feature, please base your work on the develop branch.
- Discussion: Consider opening an issue to discuss the feature before starting to work on it. This helps align with the project’s goals and avoids duplicated efforts.
Pull Requests
- Creating a pull request: Once your changes are ready, open a pull request (PR) targeting the develop branch. Please provide a clear and descriptive title, and include any relevant issue numbers in the PR description.
- Code review: Your pull request will be reviewed by one or more maintainers. Please be responsive to feedback and make any requested changes.
Coding Standards
- Testing: All new features and bug fixes should include appropriate tests. Ensure that all tests pass before submitting your pull request.
In order to ensure that the Laravel community is welcoming to all, the Clockobot code of conduct is derived from the Ruby code of conduct.
If you discover a security vulnerability within Clockobot, please send an e-mail to Dan Dvoracek via [email protected]. Ultimately, as Clockobot is built using Laravel and the TALL stack, make sure to check their documentation / Github accounts too.
The Clockobot web app is open-sourced software licensed under the MIT license. Please see License File for more information.