Skip to content

adiakritos/sw-checkin

Repository files navigation

Southwest Checkin 2.0

Automatically checks in passengers for their Southwest Flight.

Version 2.0 of this project is a complete rewrite of the service. The brittle HTML parsing and form submissions are a thing of the past. A much better approach is being taken to automate checkins. And, importantly, the new version has a robust test suite. It is even written in a new language (Ruby) and framework (Rails).

If you are interested in the old version, see the 1.0 branch.

Features

  • Accounts
    • an easy and convient way to manage your reservations
    • view or remove your reservations at any time
    • increased security
  • Email Notifications
    • Notified when a reservation is added
    • Notified on successful checkin
  • Checks in all passengers for a given confirmation number
  • Secured via HTTPS
  • Modern UI
  • Modern background processing and job scheduling
  • Full test suite

Local Installation

  1. While not strictly required, it is recommended to install rbenv and ruby-build to manage ruby versions in development. Ruby 2.2 or greater is required.

  2. Required dependencies

    • Ruby 2.2 or greater
    • Postgres
    • Redis
  3. After installing the aforementioned dependencies, install the ruby dependencies:

    bundle install
  4. Create and seed the database:

    rake db:create db:migrate db:seed
  5. Adding some basic test data for development:

    rake dev:prime
  6. Copy .env.example to .env. The defaults should work in development.

    cp .env.example .env
  7. Run the tests:

    rspec
  8. Run the development server:

    rails s
    
  9. Run sidekiq to process jobs:

    bundle exec sidekiq
    

Server Setup

  1. Create Deployer user

    https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04

  2. Install bundler

    sudo apt-get install bundler

  3. Install RVM

    gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \curl -sSL https://get.rvm.io | bash -s stable --rails

  4. Install proper rubies

    rvm install ruby-1.9.3-p125 rvm use 1.9.3-p125

  5. Install bundler gem

    sudo gem install bundler

  6. Install Postgres

    https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-14-04 *set username to 'deployer' *make superuser

    sudo apt-get install libpq-dev

  7. Install git

    sudo apt-get update sudo apt-get install git

    Or if new to git see: https://www.digitalocean.com/community/tutorials/how-to-install-git-on-ubuntu-14-04

  8. Install node.js

    sudo apt-get update sudo apt-get install nodejs

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Write rspec tests
  5. Push to the branch (git push origin my-new-feature)
  6. Create new Pull Request

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published