Let's get daily meetings down to minutes.
Jelly is an application for managing the reports submitted for Jelly Baby Tree meetings.
Read more about Jelly and this style of meeting at https://fishpercolator.co.uk/jelly/.
This style of meeting is a variation on the Scrum-style daily meeting, in which each member of the team is encouraged to present a brief report, containing the following information:
-
The thing the team member is most excited about today. It may be work-related, it may not.
-
The three achievements the team member is most proud of from the previous day.
-
The three tasks the team member would most like to achieve today.
-
People who can help the team member achieve these goals.
-
A jelly baby on the tree, representing the team member's current emotion. The team member may explain this or may not, but it helps the team to understand how the team member is feeling that day.
Each report is accompanied by a slide for a visual cue and to keep the conversation on-topic.
This web-based app allows the team members to enter their slides before the meeting and then automatically organizes them into a presentation for use during the meeting.
Jelly follows the Twelve-Factor App specification as closely as possible, which makes it easy to deploy on any hosting platform. It has been extensively tested with Heroku and Docker.
Jelly is configured using environment variables. The variables you need to know are:
Variable name | Purpose |
---|---|
RAILS_ENV | Set the app to development or production mode (set automatically on Heroku). |
SECRET_KEY_BASE | Set a secret for signing sessions (set automatically on Heroku). |
DATABASE_URL | The URL for your PostgreSQL database (set automatically on Heroku). |
APPHOST | Set to the domain of your application (for including links in emails). |
EMAIL_SENDER | The email address that "forgot password" emails will be sent from. Defaults to jelly@${APPHOST} . (See notes below if you're using Postmark.) |
SMTP_SERVER | SMTP server name (not needed if using Postmark). |
SMTP_PORT | SMTP server port if not 25 (not needed if using Postmark). |
SMTP_DOMAIN | SMTP authentication domain (not needed if using Postmark). |
SMTP_USER | SMTP authentication user (not needed if using Postmark). |
SMTP_PASSWORD | SMTP authentication password (not needed if using Postmark). |
SMTP_AUTH | SMTP authentication method if not cram_md5 . |
If you just want to deploy Jelly directly to the cloud, we recommend Heroku.
The quickest deployment uses the Heroku Postgres and Postmark addons.
The following steps can be done with the Heroku web interface, but for the purpose of illustration we're using the Heroku Toolbelt.
# Check out the repo
git clone https://github.com/fishpercolator/jelly.git
cd jelly
# Create an app on Heroku (myjelly is an example name)
heroku apps:create myjelly
# Deploy the app codebase to Heroku
# NOTE: This step automatically sets the RAILS_ENV, SECRET_KEY_BASE and
# DATABASE_URL parameters
git push heroku master
# Create the database
# NOTE: This step automatically installs the Postgres addon
heroku run rake db:migrate
# Set the other variables you need, for example:
heroku config:set APPHOST=jelly.fishpercolator.co.uk \
[email protected]
# Add a domain alias for your APPHOST (if it's not appname.herokuapp.com)
heroku domains:add jelly.fishpercolator.co.uk
# (Optional) Install the Postmark addon.
# NOTE: If you don't do this, be sure to set the SMTP_* variables
heroku addons:create postmark:10k
# Open the Postmark web UI: you need to add your $EMAIL_SENDER as a
# sender signature before Postmark will deliver mail for you
heroku addons:open postmark
That's it - you're ready to go!
Jelly is available for deployment direct from Docker Hub.
Please see the instructions on its registry page.
Please fork this repo and help to develop it! Pull requests are welcome.
A ready-made development environment is available using Docker Compose.
Go to your fork and run the following:
# Build the local development environment
docker-compose build
docker-compose run web bundle
# Add environment variables to the .env file as you wish, for example:
echo SECRET_KEY_BASE=$(docker-compose run web rake secret) >> .env
echo APPHOST=localhost:3000 >> .env
# Create the database
docker-compose run web rake db:create
docker-compose run web rake db:migrate
# Bring the application online
docker-compose up
By default, you should be able to access your development environment at http://localhost:3000/.
If you add gems, you may not want to rebuild your entire environment to load them. Gems are stored in a separate container volume and it can be updated with:
docker-compose run web bundle
The Jelly source code repository is hosted at Github.
The roadmap is being tracked on the associated Github issue tracker. Please consult that page for details.
MIT licensed. See LICENSE.