Created by Christopher Cox, Robert Eisner, Joshua Morford, Susanna Moser, and Evan Wells
This application acts as a way to advertise events that need volunteers to potential volunteers. Event planners can create event descriptions that volunteers can see, and volunteers can confirm that they will help with an event using this application.
This application is currently a work in progress and most features are not implemented yet.
This section assumes that you have WSL 2.0 enabled on your machine, a Linux distribution installed and configured as your default WSL installation, Git installed, and Docker installed and configured to use WSL 2.0.
To prepare the devopment environment:
- Go to whatever folder you want the Git repo in and run
git clone https://github.com/smoser82/volunteer-web-app.gitto clone the repo - Create a different temporary folder somewhere else, open a terminal in that temporary folder, and enter WSL by running the command
wsl - Run the command
curl -s https://laravel.build/volunteer-web-app | bash - Copy all of the files from the folder "volunteer-web-app" that was just created in the temporary folder into the folder "volunteer-web-app" in the git repo folder, and if it asks what to do with file conflicts, choose to skip them
After this, you should be able to delete the temporary folder and all of its contents from step 2.
To launch the development environment:
- Configure the .env file
- Run the command
./vendor/bin/sail upfrom the "volunteer-web-app" folder. You can use the optional parameter-dto start it in the background (detached) OR - Use the script
./start.sh(which starts detached)
It will take several minutes to build the container for the first time, but it will be faster on subsequent attempts.
The application will be accessible at http://localhost/.
To stop the program:
- Run the command
./vendor/bin/sail downOR - Run the script
./stop.sh
If WSL claims that Docker is not running when you attempt to start the development environment:
- Open Docker's settings
- Under "General" make sure that "Use the WSL 2.0 based engine" is checked
- Under "Resources > WSL Integration" make sure that "Enable integration with my default WSL distro" is checked and, if applicable, your installed WSL distribution is also checked under "Enable integration with additional distros:"
The file "docker-compose-proxy.yml" is a working example setup for use with the "Caddy" reverse proxy. Just make sure there is a docker network named "proxy" that Caddy is a part of.
If you need to make the network:
docker network create proxy
To use HTTPS with proxy:
Modify the ".env" file and change the APP_ENV variable's value to "production". This enables forced HTTPS and requires the proxy to be set up for such.
- Create the network as described above
- Run Caddy, using the network
- Run this project using the proxy file
cp docker-compose-proxy.yml docker-compose.yml- Run project normally as above
- Modify the file "Caddyfile" with the section:
<domain> {
reverse_proxy php-laravel:80
}
Where "<domain>" is the domain for the site and "php-laravel" is the name of the laravel container.
Finally, reload the Caddyfile if needed.
The docker-compose files can be easily modified to work with Traefik or Nginx Proxy Manager.