Giter Club home page Giter Club logo

10anc's Introduction

Tenancy : A multi-tenancy app

A-identifies tenants via subdomain (ie acme.grokklab.com)
B-implmeents tenant data seperation via Postgres schema's
C-Uses Devise, CanCan and Rolify for authentication and authorization
D-has kickass schema migration tasks!

Getting Started

  1. git clone [email protected]:GrokkLab/10AnC.git

  2. bundle install

  3. create login role Tenancy in postgres

  4. rake db:create

  5. rake db:migrate

  6. rake db:seed

  7. That’s it! Login with [email protected]/please

Now for some multi-tenancy

Tenancy works just fine as a single tenant app, but maybe you need to support 2 or 3 or eleventeen different organizations. No problem. Tenancy comes with some easy-peasy rake tools to do just that.

Spose your new tenant is named ‘acme’, then…

rake tenant:reset TENANT_NAME=acme

This automatically creates the schema ‘acme’, migrates that schema to current state and then seeds that schema with data. Piece O Cake.

Tip: now that you’ve got multi-tenancy, you’ll need to add a subdomain. If you’re rockin’ some flavor of unix this will be as simple as adding entries into your /etc/hosts file. Something like this…

127.0.0.1	acme.grokklab.com
127.0.0.1	bnsf.grokklab.com
etc...

Refresh your DNS cache (for macs -> dscacheutil -flushcache) and then point your browser at acme.grokklab.com and you are now looking at ACME’s web app.

Enjoy.

10anc's People

Contributors

s0mms avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.