EventKit is an open-source framework that help people organize successful conferences.
- If you are going to use Vagrant for this project you will need to install Virtualbox and Vagrant to your machine. All the needed components are already installed there.
- If you have your own developing environment make sure you have a LAMP stack with PHP 5.4.0. or higher (PHP 7.0 is recommended) and libapache2-mod-php7.0 php7.0-mcrypt curl php7.0-curl php7.0-intl php7.0-imagick php7.0-mysql php7.0-mbstring php7.0-xml php7.0-zip extensions installed and enabled.
git clone https:/YOUR-GITHUB-USERNAME/eventkit.git
cd eventkit
git remote add upstream https:/leoshtika/eventkit.git
vagrant up
vagrant ssh
cd /vagrant
Now you are inside the VM and in the /vagrant folder. All the following commands will be executed from here.
If you are NOT using Vagrant make sure to install composer global require "fxp/composer-asset-plugin:^1.2.0"
before running the following.
composer install
php init
Select [0] Development environment
- Open adminer app from this url:
http://localhost:4000/adminer
(username: root, password: pass123) - Create a ('utf8_general_ci' collation) database and name it
eventkit
- Import the eventkit.sql database from /DB_BACKUP folder
- Open the common/config/main-local.php file and change host =
localhost
, dbname =eventkit
, username =root
& password =pass123
You are done. The application url is: http://localhost:4000
.
To create an administrator, signup using the signup form: http://localhost:4000/site/signup
and change the user role from 10
to 20
using the adminer app. You can find the backend app here: http://localhost:4000/admin
.
Having prepared your develop environment as explained above you can now start working on a feature or bugfix.
1. Make sure there is an issue created for the thing you are working on if it requires significant effort to fix
All new features and bug fixes should have an associated issue to provide a single point of reference for discussion and documentation. If you do not find an existing issue matching what you intend to work on, please open a new issue or create a pull request directly if it is straightforward fix.
You should start at this point for every new contribution to make sure you are working on the latest code.
git checkout master
git pull upstream master
Each separate bug fix or change should go in its own branch. Branch names should be descriptive and start with the number of the issue that your code relates to. If you aren't fixing any particular issue, just skip number. For example:
git checkout -b 999-name-of-your-branch
All new code should follow PSR-2 coding standard. Make sure it works :)
git add --all
git commit -m "Resolve #999: A brief description of this change"
Before pushing your code to GitHub make sure to integrate upstream changes into your local repository
git checkout master
git pull upstream master
git checkout 999-name-of-your-branch
git rebase master
This ensures that your changes can be merged with one click.
Squash commits This step is not always necessary, but is required when your commit history is full of small, unimportant commits.
git rebase -i master
git push -u origin 999-name-of-your-branch
8. Open a pull request against upstream
Go to your repository on GitHub and click "Pull Request", choose 'develop' as the base branch and your '999-name-of-your-branch' as the head branch and enter some more details in the comment box. To link the pull request to the issue put anywhere in the pull comment #999 where 999 is the issue number. Note that each pull-request should fix a single change.
Someone will review your code, and you might be asked to make some changes, if so go to step #5 (you don't need to open another pull request if your current one is still open). If your code is accepted it will be merged into the main branch and become part of the next release.
After your code was either accepted or declined you can delete branches you've worked with from your local repository and origin.
git checkout master
git branch -D 999-name-of-your-branch
git push origin --delete 999-name-of-your-branch
To generate(extract) the translation files inside common/messages, run in the console from the root folder:
./yii message/extract @common/config/i18n.php