Giter Club home page Giter Club logo

eventkit's Introduction

EventKit

Conference management framework

REQUIREMENTS

  • 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.

Prepare your development environment

1. Fork the 'eventkit' repository on GitHub and clone your fork to your development environment

git clone https://github.com/YOUR-GITHUB-USERNAME/eventkit.git

2. Add the main 'eventkit' repository as an additional git remote called "upstream"

cd eventkit
git remote add upstream https://github.com/leoshtika/eventkit.git

3. Install LAMP stack with Vagrant

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.

4. Install dependencies

If you are NOT using Vagrant make sure to install composer global require "fxp/composer-asset-plugin:~1.1.1" before running the following.

composer install

5. Initialize the application

php init

Select [0] Development environment

6. Configure the database

  • 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.

Working on bugs and features

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.

2. Fetch the latest code from the main 'eventkit' branch

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

3. Create a new branch for your feature based on the current master branch

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

4. Do your magic, write your code

All new code should follow PSR-2 coding standard. Make sure it works :)

5. Commit your changes

git add --all
git commit -m "Resolve #999: A brief description of this change"

6. Pull the latest code from upstream, rebase & squash your changes

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

7. Push your code to GitHub

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.

9. Someone will review your code

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.

10. Cleaning it up

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

Message Translations

To generate(extract) the translation files inside common/messages, run in the console from the root folder:

./yii message/extract @common/config/i18n.php

eventkit's People

Contributors

leoshtika avatar mario-tessera avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.