Making groups
- Easy to Find
- Easy to Connect
- Easy to Manage
While you may install and run theGatherings locally, it is easiest to use Docker for development and testing. The project includes a Dockerfile for the application and a Docker Compose file for running the application with the required MySQL database.
The Docker Compose configures MySQL to save data locally in a Docker Volume.
./build
docker-compose run --rm dev bundle exec rails dev:prime
docker-compose run --rm test bundle exec rails db:environment:set
Note: The
dev:prime
and related Rake tasks (as is common with Rake tasks) do not retry if the database is unavailable. Occasionally, the download and start of MySQL is not "fast enough" causing the task to fail. If the task fails, normally, re-running it succeeds.
docker-componse run --rm dev bundle exec rails db:migrate
docker-compose run --rm dev
This launches a Bash terminal within which you can run all Rails and Gem commands.
docker-compose run --rm -p 3000:3000 -p 3035:3035 server
This command launches the application in the foreground, much like running Rails locally. The application will be available at http://localhost:3000/.
The faux data created via the rails dev:prime
Rake task adds several user accounts including (with pa$$w0rd
as the password):
[email protected]
-- A full administrative account[email protected]
-- A Gathering Leader (aka Host) account[email protected]
-- A Gathering Co-Leader account[email protected]
-- An administrator over a set of Gatherings
mike<#>[email protected]
where<#>
is an integermary<#>[email protected]
where<#>
is an integer
Members numbered 72 or less (e.g., [email protected]
) have affiliations with one or more Gatherings.
Members numbered 73 or greater are unaffiliated. Women get assigned the odd integers (e.g., [email protected]
,
[email protected]
) and men the even integers (e.g., [email protected]
, [email protected]
).
docker-compose run --rm test bundle exec rspec
docker-compose down
TBD