make
cli commandThe User Service is designed to manage user accounts and authentication within the VilnaCRM ecosystem. It provides essential functionalities such as user registration and authentication, implemented with OAuth Server, REST API, and GraphQL, ensuring seamless integration with other components of the CRM system.
This software is distributed under the Creative Commons Zero v1.0 Universal license. Please read LICENSE for information on the software availability and distribution.
You can clone this repository locally or use Github functionality "Use this template"
Install the latest docker and docker compose
Use make
command to set up project
make start
Use make
command to automatically install all needed dependencies
make install
Use make
command to run migrations
make doctrine-migrations-migrate
Go to browser and open the link below to access REST API docs
And using the link below you can access the GraphQL documentation
Also, you can see architecture diagram using link below
That's it. You should now be ready to use user service!
You can use make
command to easily control and work with project locally.
Execute make
or make help
to see the full list of project commands.
The list of the make
possibilities:
all-tests Run unit, integration, and e2e tests
average-load-tests Run load tests with average load
build Builds the images (PHP, caddy)
cache-clear Clears and warms up the application cache for a given environment and debug mode
cache-warmup Warmup the Symfony cache
changelog-generate Generate changelog from a project's commit messages
check-requirements Checks requirements for running Symfony and gives useful recommendations to optimize PHP for Symfony.
check-security Checks security issues in project dependencies. Without arguments, it looks for a "composer.lock" file in the current directory. Pass it explicitly to check a specific "composer.lock" file.
commands List all Symfony commands
composer-validate The validate command validates a given composer.json and composer.lock
coverage-html Create the code coverage report with PHPUnit
coverage-xml Create the code coverage report with PHPUnit
create-oauth-client Run mutation testing
deptrac Check directory structure
deptrac-debug Find files unassigned for Deptrac
down Stop the docker hub
e2e-tests Run end-to-end tests
execute-load-tests-script Execute single load test scenario.
first-release Generate changelog from a project's commit messages for the first release
fix-perms Fix permissions of all var files
infection Run mutation testing
install Install vendors according to the current composer.lock file
integration-tests Run integration tests
load-fixtures Build the DB, control the schema validity, load fixtures and check the migration status
load-tests Run load tests
logs Show all logs
new-logs Show live logs
phpcsfixer A tool to automatically fix PHP Coding Standards issues
phpinsights Instant PHP quality checks and static analysis tool
phpmetrics Get mathematical metrics
phpunit-codecov Get code coverage report
psalm A static analysis tool for finding errors in PHP applications
psalm-security Psalm security analysis
purge Purge cache and logs
release Generate changelogs and release notes from a project's commit messages for the first release
release-major Generate changelogs and commit new major tag from a project's commit messages
release-minor Generate changelogs and commit new minor tag from a project's commit messages
release-patch Generate changelogs and commit new patch tag from a project's commit messages
setup-test-db Create database for testing purposes
sh Log to the docker container
smoke-load-tests Run load tests with minimal load
spike-load-tests Run load tests with a spike of extreme load
start Start docker
stats Commits by the hour for the main author of this project stop Stop docker and the Symfony binary server
stress-load-tests Run load tests with high load
unit-tests Run unit tests
update Update vendors according to the current composer.json file
up Start the docker hub (PHP, caddy)
Start reading at the GitHub wiki. If you're having trouble, head for the troubleshooting guide as it's frequently updated.
You can generate complete API-level documentation by running phpdoc
in the top-level folder, and documentation will appear in the docs
folder, though you'll need to have PHPDocumentor installed.
If the documentation doesn't cover what you need, search the many questions on Stack Overflow, and before you ask a question, read the troubleshooting guide.
Tests use PHPUnit 9 and Behat.
If this isn't passing, is there something you can do to help?
Please disclose any vulnerabilities found responsibly – report security issues to the maintainers privately.
See SECURITY and Security advisories on GitHub.
Please submit bug reports, suggestions, and pull requests to the GitHub issue tracker.
We're particularly interested in fixing edge cases, expanding test coverage, and updating translations.
If you found a mistake in the docs, or want to add something, go ahead and amend the wiki – anyone can edit it.
Development time and resources for this repository are provided by VilnaCRM, the free and opensource CRM system.
Donations are very welcome, whether in beer 🍺, T-shirts 👕, or cold, hard cash 💰. Sponsorship through GitHub is a simple and convenient way to say "thank you" to maintainers and contributors – just click the "Sponsor" button on the project page.
See changelog.