speakerinnen.org is a searchable web directory designed specifically for women conference speakers. Women speakers are encouraged to sign up and provide professional information, including their area of expertise, any previous conferences they've presented at, contact details, etc.
The aim of the app is to provide a way for conference and event organizers to find and contact appropriate women speakers. (But obviously there are many different contexts in which it can be used...)
git clone git@github.com:rubymonsters/speakerinnen_liste.git
and access the folder: cd speakerinnen_liste
. (If you have cloned the repository before and there is still an .env file, delete it.)database.yml.sample
and name it database.yml
inside the config folder. (The sample-file is a placeholder showing the standard usecase. The file database.yml
is for individual usage and changes and is ignored by git.)make setup
(builds images, installs gems, creates and migrates the database).make seed
(seeds database with example profiles and indexes them in Elasticsearch).make dev
(opens a development shell, rake
, bundle
or rails
commands will work here)make up
(starts the app directly)make stop
(stops the container)make test
(runs all the tests)make usage
(get a list of possible commands)In your database.yml
: make sure host: db
username: postgres
and password: password
are commented out.
You can start a server or run the tests as usual.
If you build or test admin features, you can use the test admin user to test those. The admin user can be found in db/seeds.rb.
Alternatively, assign the admin
status to another user via the rails console:
# Open a dev shell
$ make dev
# Log into the rails console
$ bundle exec rails c
# Inside the rails console
user = Profile.find(<your-profile-id>)
user.admin = true
user.save
# Verify your user admin status
user.valid?
# => true
First, open a dev shell by running make dev
.
# Run all tests of the project (same as running `make test`)
$ bundle exec rspec spec
# If the tests are still failing, run:
$ bundle exec rake db:test:clone
# If tests are still failing, run:
$ rails db:test:prepare
# Run tests excluding elasticsearch specs, so without a running elasticsearch server
$ bundle exec rspec spec --tag '~elasticsearch'
# Open a dev shell
$ make dev
# Run rubocop and correct all errors it finds
$ rubocop -a
Our database schema looks like that:
For seeing our metrics we use the free community edition of honeyycomb ( https://ui.honeycomb.io/login ) More infos how to use this: https://docs.honeycomb.io/beeline/ruby/
We are using honeybadger.
We use Heroku to deploy.
Do you want to contribute?
If you want to contribute, you can get an overview over the open issues on our Project Management Board and via https://github.com/rubymonsters/speakerinnen_liste/issues/216.
We are happy to answer your questions if you consider to help. All the issues have a link to their specification. If you want to work on an issue feel free to assign yourself.
Find further details in CONTRIBUTING.md.
If Postgres got upgraded in the docker-compose file, you need to delete all processes, images and volumes that still use the older version:
Use make tear-down
to delete all processes and images
Delete all your local volumes inside Docker as well. (Otherwise you will get a DB connection error)
Check for your speakerinnen volumes in Docker:
docker volume ls
Ouput will be a list of volumes, pick all the speakerinnen ones (Postgres, Bundle) and delete them (adjust the name if yours is
different):
docker volume rm speakerinnen_liste_postgres_data
docker volume rm speakerinnen_liste_bundle
make setup
to recreate all images, processes and volumes.
make seed
to populate the volumes.
Please note that speakerinnen has a Contributor Code of Conduct based on the Contributor Covenant. By participating in this project online or at events you agree to abide by its terms.