Place this app in nextcloud/apps/
Install the following tools on your machine:
- Docker & Docker Compose
- PHP 8.2+
- Composer
- Node.js 20+ & npm 10+
- make, curl, tar
If using Docker: PHP, Composer, and Node.js are included in containers, host installation is optional.
git clone https://github.com/200529-Hugo/timetracker.git custom_apps/timetracker
cd custom_apps/timetrackerYou can use the provided setup script or run make directly:
./setup/setup.sh
# OR
makeThe build process installs Composer and npm dependencies and builds the JavaScript artifacts.
The project includes a Docker setup for local development.
cd setup
docker-compose up -dUsername: admin
Password: admin
The easiest way to run all local tests is via the provided script:
./setup/run-tests.shYou can run the full test suite (including integration tests) using the provided Makefile:
make testFor faster, isolated unit tests that do not require a full Nextcloud installation:
./vendor/bin/phpunit -c phpunit.xml --bootstrap tests/unit-bootstrap.phpThe app uses Jest for JavaScript unit testing:
cd js
npm testFirst get an account for the App Store then run:
make && make appstoreThe archive is located in build/artifacts/appstore and can then be uploaded to the App Store.