Squire
Dev Setup (using Docker)
- Install Git and Docker (with Compose)
- Clone the repository using
git clone https://github.com/april-knights/Squire.git
.
- Create a Reddit application and set the redirect URI to
http://localhost/login/reddit/callback
.
The other fields can be set to anything
- Copy
.env.default
to .env
and modify the Reddit client ID and secret to the values you got from Reddit
- Run
docker compose up --build
in the .docker
directory. Once everything is initialized properly, you can reach the page at http://localhost/
- While the project is running, run the following commands in another window (in the
.docker
directory) to have better coding assistance:
docker compose exec app php artisan ide-helper:generate
docker compose exec app php artisan ide-helper:meta # Only if you use PHPStorm
docker compose exec app php artisan ide-helper:models
Dev Setup (running directly)
- Install
git
, php
, composer
and npm
.
- Clone the repository using
git clone https://github.com/april-knights/Squire.git
.
- Enter the
Squire
directory and run composer install
.
- Copy
.env.example
to .env
and modify whatever you need.
- Start the development server using
php artisan serve
- While the project is running, run the following commands in another window (in the
.docker
directory) to have better coding assistance:
php artisan ide-helper:generate
php artisan ide-helper:meta # Only if you use PHPStorm
php artisan ide-helper:models
Compiling CSS/JS changes
- Install the required Javascript dependencies using
npm install
.
- Run
npm run dev
to recompile css and js files.
Automatically recompile CSS/JS and refresh browser
- Change the redirect_uri in
.env
and on reddit to 127.0.0.1:3000
.
- Run
npm run watch
. Whenever you make a change to the application, your browser is automatically reloaded.
Deployment
- Properly set up your webserver.
- Install
git
, php
and composer
.
- Clone the repository using
git clone https://github.com/april-knights/Squire.git
.
- Enter the
Squire
directory and run composer install --optimize-autoloader --no-dev
.
- Install the required Javascript dependencies using
npm install
.
- Run
npm run prod
to generate the minified static files.
- Copy
.env.prod
to .env
and set up the DB connection and Reddit API.
- Run
php artisan key:generate
to generate an app key for secure session storage.
- Run
php artisan config:cache
to combine all config files into a single one. Rerun this whenever you make changes to .env
!
- Point your webserver to
squire/public
.