Skip to content

gatekeeper-tamu/gatekeeper

Repository files navigation


Logo

Gatekeeper

A Ruby on Rails Subscription Manager Application
Explore the app »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Roadmap
  4. License
  5. Contact
  6. Acknowledgments

About The Project

Gatekeeper is a subscription management service that allows you to store login information for online services. It has a number of useful features such as:

  • Encrypted storage of username and password information
  • Sharing of service entries between friends, family, and other groups
  • Scheduleable reminders to cancel, update, renew, and more.

For more info on the project, see our Final Report

(back to top)

Built With

(back to top)

Getting Started

To get a local copy up and running follow these steps.

Prerequisites

To start, install the following packages:

Installation

  1. Clone the repo
    git clone https://github.com/gatekeeper-tamu/gatekeeper.git
  2. Navigate to directory and install gems
    cd gatekeeper
    bundle install
  3. Setup environment variables
    • Create .env file in the root directory with the following:
      GOOGLE_CLIENT_ID="insert_google_client_id_here"
      GOOGLE_CLIENT_SECRET="insert_google_client_secret_here"
      AWS_ACCESS_KEY_ID="..."
      AWS_SECRET_ACCESS_KEY="..."
      KMS_KEY_ID="..."
      AWS_REGION="..."
  4. Create or set heroku project
    heroku create
  5. Setup the database
    • Make sure postgres is started and your user is created/has db access
      sudo service postgresql start
      sudo -u postgres createuser -s <your username> -P
    • Intitialize db
      rake db:setup
  6. Setup webpacker
    bundle exec rake webpacker:install
  7. Run the app:
    • To run locally:
      heroku local
      Navigate to localhost:5000 to see the app.
    • To deploy to heroku:
      • Export all environment variables from .env file
        heroku config:set ENVIRONMENT_VARIABLE="value_here"
      • Set git remote for heroku:
        heroku git:remote -a <your app name>
      • Push to heroku
        git push heroku master

(back to top)

Roadmap

  • User Login
  • Add/Remove/Update Subscription Entries
  • Share Subscriptions
  • Create Groups
  • Setup Cancellation/Renewal Reminders
  • Configure Group/Personal Settings
  • See Statistics on Monthly Costs/Usage Data
  • Explore Subscription Services and Deals
  • Send Temporary Account Access to Non-Users

See the open issues or the pivotal tracker for a full list of proposed features (and known issues).

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

Rebecca McFadden - rmcfadden@tamu.edu

Project Link: https://github.com/gatekeeper-tamu/gatekeeper

(back to top)

Acknowledgments

TODO

(back to top)