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.gitThis 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.appto your cloned repository public path
- Map the domain
- Add the domain to
/etc/hostswith sudo access192.168.10.10 southeastphp.co.appas in Homestead.ymlipand 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 upif 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.ymlin your favourite editor and...- Check to see that
folderssection paths are correct- We are mapping
mapon your local machine totoon your Homestead
- We are mapping
- Check that the
sitessectionmapis a domain is something suitable for development (and note it for the 5th step) - See that the
sitessectionto:path points to the correctpublicfolder- It should be along the lines of
/home/vagrant/dev/southeastphp.co/publicif yourfoldersmappings 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/hostswith sudo access192.168.10.10 southeastphp.co.testas in Homestead.ymlipand the domain- Or use cogitatio/vagrant-hostsupdater or similar to automate this
- In another terminal window change to project directory and run
vagrant upto 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 sshif you set up the shell shortcut/alias) - CD into your project directory
- this would be the one you set in
Homestead.ymlsites 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 runcommands inside the virtual box- This way all of use using Homestead are running (usually) the same NPM and Node versions
- Using
npm run watchmight not always pick up changes, usingnpm run watch-pollworks 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/phpunitin the project root - Laravel has awesome testing documentation with nice examples
- To run tests run