Skip to content

Latest commit

 

History

History
117 lines (77 loc) · 2.38 KB

README.md

File metadata and controls

117 lines (77 loc) · 2.38 KB

MovieBuff-monolith

Migrated from GitLab

Laravel 5.6 monolith implementation of https://github.com/breadthe/moviebuff

Installation

These instructions assume the use of Homestead. For other types of Vagrant boxes or Docker, feel free to create your own instructions and PR them here. Also assumes you have the necessary tools installed and in your path (git, php, composer, npm, yarn, artisan).

Mac

Install Homestead.

Configure Homestead.yaml as follows (relevant bits shown only):

folders:
    - map: ~/source/laravel/moviebuff-monolith
      to: /home/vagrant/code

sites:
    - map: moviebuff.test
      to: /home/vagrant/code/public

databases:
    - moviebuff

Add an entry to your hosts file (/etc/hosts):

192.168.10.10   moviebuff.test

Clone the repo (creates a moviebuff-monolith directory).

git clone https://github.com/breadthe/moviebuff-monolith.git

Run composer and npm/yarn (I prefer yarn) to install PHP/JS packages:

cd moviebuff-monolith
composer install
npm install

Install Passport:

php artisan passport:install

Alternately:

php artisan passport:client --password

Next, configure Laravel. Generate a .env:

cp .env.example .env

I use these values (relevant bits shown only):

APP_NAME=MovieBuff
APP_URL=http://moviebuff.test

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=moviebuff
DB_USERNAME=homestead
DB_PASSWORD=secret

OMDB_API_KEY={YOUR OMDB API KEY}
GOOGLE_PLACES_API_KEY={YOUR GOOGLE PLACES API KEY}

Run database migrations:

php artisan migrate

One additional thing that I like to do is to allow Artisan to run on the local DB port (3306) instead of the Homestead (33060) port. So in your .bashrc or .zshrc file, export the local DB port:

export DB_PORT=33060

Finally, switch back to your Homestead directory and run:

vagrant up

The site should now be accessible in the browser at moviebuff.test.

NOTE: If I have missed any steps, feel free to correct me with a PR.

Windows

You're on your own, buddy! Again, feel free to make a PR if you have Windows-specific instructions.

Linux

See above.

API Documentation

MovieBuff uses an internal API (documented here) to communicate with the Vue front-end.