This is a community conferencing application developed with Laravel 5.5 and Vue.js.
To make development easy, we rely on Homestead virtual environment.
This project can be used as per-project installation, or in shared Homestead environment. Depending which style of development you chose, you should follow suitable installation guide below. Before you go ahead, please read the next few lines.
Please follow Homestead installation process and install required dependencies.
If using shared Homestead, please remember to configure own database for the project, or use DB_PREFIX
environment variable in the .env
file.
Database configuration has been changed to use DB_PREFIX
.
We have already set up a default prefix sephpco__
for you in the .env.example
file.
If you do not want database table prefixing, just set DB_PREFIX
empty, or remove it from your .env
file.
Clone the repository to your preferred directory. Some people use Code
, some use dev
, it does not really matter, but you should know where the folder is located because we need the full directory path later.
You should start by cloning the repository to that directory:
git clone https://github.com/SoutheastPHPConf/southeastphp.com.git
This guide assumes you have already successfully installed shared Homestead on your machine and can SSH into it.
- Configure the shared Homestead.yml file
- Map the domain
southeastphp.co.app
to your cloned repository public path
- Map the domain
- Add the domain to
/etc/hosts
with sudo access192.168.10.10 southeastphp.co.app
as in Homestead.ymlip
and the domain you chose- Or use cogitatio/vagrant-hostsupdater or similar to automate this
- In another terminal window change to project directory and run
vagrant up
(orhomestead up
if you set up the shortcut alias) to start the Vagrant Homestead instance- If the box is already running, run provisioning to apply your changes:
vagrant reload --provision
- If the box is already running, run provisioning to apply your changes:
This guide assumes you have already installed Homestead and skipped the "Configuring Homestead" steps in the installation guide.
- CD into the folder you just cloned
cd southeastphp.com
- Run composer install to install all php dependencies
composer install
- Generate the Vagrantfile and the Homestead.yml file
You should get
php vendor/bin/homestead make
Homestead Installed!
as a response - Open the generated
Homestead.yml
in your favourite editor and...- Check to see that
folders
section paths are correct- We are mapping
map
on your local machine toto
on your Homestead
- We are mapping
- Check that the
sites
sectionmap
is a domain is something suitable for development (and note it for the 5th step) - See that the
sites
sectionto:
path points to the correctpublic
folder- It should be along the lines of
/home/vagrant/dev/southeastphp.co/public
if yourfolders
mappings aremap: [parent dir of your git clone]
andto: /home/vagrant/dev
- It should be along the lines of
- Check to see that
- Add the domain to
/etc/hosts
with sudo access192.168.10.10 southeastphp.co.test
as in Homestead.ymlip
and the domain- Or use cogitatio/vagrant-hostsupdater or similar to automate this
- In another terminal window change to project directory and run
vagrant up
to start the Vagrant Homestead instance- If the box is already running, run provisioning to apply your changes:
vagrant reload --provision
- If the box is already running, run provisioning to apply your changes:
- SSH into your newly created Homestead box with
vagrant ssh
(orhomestead ssh
if you set up the shell shortcut/alias) - CD into your project directory
- this would be the one you set in
Homestead.yml
sites sectionto:
path
- this would be the one you set in
- Check
- Run the following installation and configuration commands to set up keys and migrations
npm install cp .env.example .env php artisan key:generate php artisan migrate php artisan passport:install npm run dev
- Visit the domain in Homestead.yml in your browser and you should see the site!
Now your environment is ready for development work.
- Run
npm run
commands inside the virtual box- This way all of use using Homestead are running (usually) the same NPM and Node versions
- Using
npm run watch
might not always pick up changes, usingnpm run watch-poll
works better in those cases
- If you are considering doing pull requests and help this project:
- You should fork the repository and do your development in your forks branch that's named after the feature you are working on. This makes submitting pull requests super simple.
- Please write tests, or at least run them before submitting your pull request
- To run tests run
vendor/bin/phpunit
in the project root - Laravel has awesome testing documentation with nice examples
- To run tests run