Giter Club home page Giter Club logo

authz_case_study's Introduction

Authz case study – Using Authz to authorize a two-sided marketplace

About Authz

Authz is an opinionated almost-turnkey solution for managing authorization in your Rails application.

Read everything about this project on the official github repo.

About this case study

This repo contains an application that demonstrates how to use Authz to fully authorize a typical ride sharing platform app that has a non-trivial role specification sheet.

Read the details of the case study here.

We chose this case study because:

  • Two-sided marketplaces are a very common use case for web applications. We hope this case study becomes valuable and relatable documentation for the gem.

  • Most developers are familiar with Uber-like apps, reducing the overhead required to understand the case study and allowing them to focus on the library’s features.

  • The scenario is rich enough to allow the demonstrations of most of the library's features.

You can interact with a live demo here. Note that it resets once a day.

Use this repo to try Authz yourself!

Clone this repo, go the the README of the gem and follow along.

This repo has two branches:

  • start contains the full implementation of the ride sharing app without any type of authorization. This is where you start.
  • master contains the fully authorized application. This is where you want to get to.

For your convenience, both branches contain the relevant seeds to get help you started.

  • run rails db:setup if you are creating the db for the first time.
  • run rails db:reset if you want to completely reset the DB and reload it with the seeds.

Requirements

  • This is a standard Ruby on Rails application so you will need to have ruby installed.
  • Authz is agnostic to the database engine you use. However, this sample app uses a Postgres database, so make sure you install it on your computer.

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.