80f7e71fc7
- Wait for database to start on boot so only a single command is needed. - Tidied up readme. - Explicitly specify build steps instead of using onbuild so the apt package cache isn't busted by new code. - Rename built image to be "octobox" |
||
---|---|---|
app | ||
bin | ||
config | ||
db | ||
lib | ||
log | ||
public | ||
test | ||
tmp | ||
vendor/assets | ||
.codeclimate.yml | ||
.eslintignore | ||
.eslintrc | ||
.gitignore | ||
.rubocop.yml | ||
.ruby-version | ||
.travis.yml | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
Dockerfile | ||
Gemfile | ||
Gemfile.lock | ||
LICENSE.txt | ||
README.md | ||
Rakefile | ||
app.json | ||
config.ru | ||
docker-compose.yml |
README.md
Octobox 📮
Take back control of your GitHub Notifications with Octobox.
Why is this a thing?
If you manage more than one active project on GitHub, you probably find GitHub Notifications pretty lacking.
Notifications are marked as read and disappear from the list as soon as you load the page or view the email of the notification. This makes it very hard to keep on top of which notifications you still need to follow up on.
Most open source maintainers and GitHub staff end up using a complex combination of filters and labels in Gmail to manage their notifications from their inbox. If, like me, you try to avoid email, then you might want something else.
Octobox adds an extra "archived" state to each notification so you can mark it as "done". If new activity happens on the thread/issue/pr, the next time you sync the app the relevant item will be unarchived and moved back into your inbox.
What state is the project in right now?
Octobox is like a little baby. You have to host it yourself and it only works for one user at a time.
Check out the open issues for a glimpse of the future: https://github.com/octobox/octobox/issues.
Deployment to Heroku
You can host your own instance of Octobox using Heroku. Heroku will ask you to provide a 'personal access token' which you can create on GitHub. When creating it, make sure you enable the notifications scope on it.
Running Octobox for GitHub Enterprise
In order to setup Octobox for your GitHub Enterprise instance all you need you do is add your enterprise domain to the .env
file / deployed environment.
Example:
GITHUB_DOMAIN=https://github.foobar.com
And that's it ✨
Development
The source code is hosted at GitHub. You can report issues/feature requests on GitHub Issues. For other updates, follow me on Twitter: @teabass.
Getting Started
New to Ruby? No worries! You can follow these instructions to install a local server, or you can use the included Vagrant setup.
Installing a Local Server
First things first, you'll need to install Ruby 2.3.3. I recommend using the excellent rbenv, and ruby-build:
brew install rbenv ruby-build
rbenv install 2.3.3
rbenv global 2.3.3
Next, you'll need to make sure that you have PostgreSQL installed. This can be done easily on OSX using Homebrew or by using http://postgresapp.com. Please see these further instructions for installing Postgres via Homebrew.
brew install postgres
On Debian-based Linux distributions you can use apt-get to install Postgres:
sudo apt-get install postgresql postgresql-contrib libpq-dev
Now, let's install the gems from the Gemfile
("Gems" are synonymous with libraries in other
languages):
gem install bundler && rbenv rehash
bundle install
Once all the gems are installed, we'll need to create the databases and tables. Rails makes this easy through the use of "Rake" tasks:
bundle exec rake db:create db:migrate
Now go and register a new GitHub OAuth Application, your development configuration should look something like this:
If you're deploying this to production, just replace http://localhost:3000
with your applications URL.
Once you've created your application you can then then add the following to your .env
:
GITHUB_CLIENT_ID=yourclientidhere
GITHUB_CLIENT_SECRET=yourclientsecrethere
Finally you can boot the rails app:
rails s
Docker
You can use Docker to run Octobox in development.
First, install Docker. If you've got run macOS or Windows, Docker for Mac/Windows makes this really easy.
Then, run:
GITHUB_CLIENT_ID=yourclientid GITHUB_CLIENT_SECRET=yourclientsecret docker-compose up --build
Octobox will be running on http://localhost:3000.
Note: You can add GITHUB_CLIENT_ID
and GITHUB_CLIENT_SECRET
to a .env
file instead of supplying them directly on the command-line.
Keyboard shortcuts
You can use keyboard shortcuts to navigate and perform certain actions:
r
or.
- refresh listj
- move down the listk
- move up the lists
- star current notificationx
- mark/unmark current notificationy
- archive current/marked notification(s)o
orEnter
- open current notification in a new window
Press ?
for the help menu.
Note on Patches/Pull Requests
- Fork the project.
- Make your feature addition or bug fix.
- Add tests for it. This is important so we don't break it in a future version unintentionally.
- Send a pull request. Bonus points for topic branches.
Code of Conduct
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Copyright
Copyright (c) 2016 Andrew Nesbitt. See LICENSE for details.