Skip to main content

Local Setup

Prerequisites

RequirementDetails
PHP7.3
Composerv1 (the project uses Composer v1)
DatabaseMySQL or MariaDB
GitAccess to axelites/logidav on GitHub

Installation

# Clone the repository
git clone git@github.com:axelites/logidav.git
cd logidav

# Install PHP dependencies
composer install

During composer install, Symfony will prompt you to configure app/config/parameters.yml. Fill in your local database credentials and other settings.

:::warning No .env file Logidav uses Symfony 3.3, which relies on app/config/parameters.yml for environment configuration — not .env files. The parameters.yml file is generated from parameters.yml.dist during composer install. :::

Database setup

This project does not use Doctrine migrations. Schema changes are applied directly:

# Preview the SQL that would be executed
php bin/console doctrine:schema:update --dump-sql

# Apply the changes (after reviewing the SQL above)
php bin/console doctrine:schema:update --force

:::danger Always review before --force Run --dump-sql first and review the generated SQL. The --force flag applies changes immediately and cannot be undone. :::

Common commands

TaskCommand
Clear cachephp bin/console cache:clear
Run testsSYMFONY_DEPRECATIONS_HELPER=weak_vendors vendor/bin/simple-phpunit -c phpunit.xml.dist
Static analysiscomposer phpstan
Queue processorphp bin/console meduse:queue:processor --action=runQueues
Code formattingphp tools/php-cs-fixer/vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.php

Docs site setup (Docusaurus)

The documentation site is mounted as the docs/ submodule in Logidav:

git submodule update --init --recursive
cd docs

# Install Node dependencies
npm ci

# Start the development server
npm start

# Production build
npm run build

Code validation

Run all three checks before pushing:

# 1. Fix code style
php tools/php-cs-fixer/vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.php

# 2. Run static analysis
composer phpstan

# 3. Run tests
SYMFONY_DEPRECATIONS_HELPER=weak_vendors vendor/bin/simple-phpunit -c phpunit.xml.dist

:::tip SYMFONY_DEPRECATIONS_HELPER The weak_vendors setting suppresses deprecation notices from third-party packages, letting you focus on deprecations in your own code. :::