Skip to content

Instantly share code, notes, and snippets.

@mikesjewett
Forked from eladmeidar/bloc.md
Last active December 28, 2015 19:49
Show Gist options
  • Save mikesjewett/7552743 to your computer and use it in GitHub Desktop.
Save mikesjewett/7552743 to your computer and use it in GitHub Desktop.

Purpose

Build an application that allows users to manage Sidekiq services. We'll call this application "Sidekicker", but you can name it anything you want.

Use case

Sidekiq is a background processing service that can be integrated into Rails applications. Basically, Sidekiq can make Rails applications much faster and more efficient. When you're maintaining many applications that use Sidekiq, it's cumbersome to manage each Sidekiq instance separately. Therefore we'll build the Sidekicker app, which will present a central location to manage Sidekiq services for all the apps that you are maintaining.

We'll assume that all of our applications will be built using Amazon's AWS servers, so the Sidekicker app will need a way to communicate with AWS, and run Sidekiq services on Amazon servers.

Requirements

  • As a user I should be able to sign in and out of Sidekicker.
  • As a user I should be able to see a list of currently active Sidekiq services.
  • As a user I should be able to restart one or many Sidekiq service(s).
  • As a user I should be able to see the current Sidekiq jobs processed across all Sidekiq services.

Resources

  • Of course we'll need to integrate Sidekiq into the Sidekicker app.
  • We'll use MongoDB as our backend to this application.
  • Use Mongoid in order to make working with a MangoDB backend easier. Mongoid provides an ActiveRecord-esque API for querying a MongoDB database.
  • Use Fog to make speaking with Amazon servers easier.

Wireframe examples

img

Assignment

Follow the requirements and use the resources detailed in this checkpoint. Build an app that allows its users to manage Sidekiq services across many Amazon hosted Rails applications.

Remember that you can develop your own requirements for Sidekicker. This checkpoint lays out the bare minimum for basic functionality, but you should customize your app with your own ideas too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment