This project aims to provide detailed statistics about GitHub public events (commit, pull-request, comments) related to a keyword. These data will be displayed on a daily basis.
It uses GH Archive as its single source of truth. GH Archive records public GitHub data (commit, pull requests,...), archives it, and makes it easily accessible for further analysis.
👉 Must have
GitHub events will be imported by a Symfony command. Your goal is to fulfill this command in order to import GitHub events in our database. This command can be found here:
App\Command\ImportGitHubEventsCommand
API contract and entities are already done. But feel free to adapt the code as you like.
👉 Nice to have
This code base does not fulfill Yousign quality requirements.
Feel free to adapt the code with your own standards, quality requirements and sensibilities but keep in mind the functional perimeter of the project.
- Create a fork of this project
- Must have: Create a dedicated PR targeted on your forked project for the command (IMPORTANT: PR should be targeted on YOUR forked repo and NOT our)
- Nice to have: Create a dedicated refactoring PR targeted on your forked project (IMPORTANT: PR should be targeted on YOUR forked repo and NOT our)
Your PR will be reviewed during our technical interview, and it will be a support to talk about your choices.
You need make and docker installed to start the development environment.
The following command will start the development environment:
make startYou can access to the application at 127.0.0.1:8000.
make shellYou can run PHPUnit with the following command:
# Run the unit test suite
make unit-test
# init the db test (required once)
make db-test
# Run the functional test suite
make func-testYou can stop the development environment running this command:
make stopYou can clean the development environment (docker images, vendor, ...) running this command:
make cleanYou can get available targets by running:
makebuild Build the docker stack
pull Pulling docker images
shell Enter in the PHP container
start Start the docker stack
stop Stop the docker stack
clean Clean the docker stack
vendor Install composer dependencies
unit-test Run PhpUnit unit testsuite
func-test Run PhpUnit functionnal testsuiteWe encourage you to have fun during this challenge!
