Development Environment
Create a containerized development environment so you can build, test and contribute to Speedtest Tracker.
Speedtest Tracker is built on the Laravel framework, this means we get to use some awesome 1st party packages like Laravel Sail to create a local containerized development environment.
These directions will walk you through the steps of setting up that environment.
These directions assume you have a working knowledge of the Laravel framework. If you have questions on how to use it the Laravel Docs and Laracasts series on "Laravel from Scratch" are a good place to start.
Setup and Start the Development Environment
1. Clone the repository
First let's clone the repository to your machine, I prefer GitHub's CLI so that command is included below.
2. Make a copy of `.env.example` and update DB variables
Next we need to make a copy of .env.example
, the environment file is what Laravel uses.
You will copy and fill in the following Environment Variables
Generate the APP_KEY at https://speedtest-tracker.dev
3. Install Composer dependencies
We'll use a temporary container to install the Composer dependencies for the application.
4. Build Sail development container
We utilize Laravel Sail for a local development environment this way on your machine the only requirements are Git and Docker. To build the development environment run the commands below.
5. Start the development environment
To start up the environment we can now use the Sail binary that is included with the package to start our development environment.
6. Create the database
To start up the environment we need to make a database
As well need to make the needed tables etc in the database.
7. Installing NPM assets
We will need to install the needed NPM assets
Reset your development environment
You can reset your development environment at any time by re-running a fresh migration:
Processing Jobs in the Queue using a Worker
Processes like running a speedtest and sending notifications are offloaded to be run by a worker process. If you're testing or developing anything requiring the queue jobs be processed run the command below.
Lint your code before opening a PR or committing changes
To keep PHP's code style consistent across multiple contributors a successful lint workflow is required to pass. Check your code quality locally by running the command below and fixing it's recommendations.
Stopping the development environment
When you're done in the environment you can stop the containers using the command below.
Last updated