GithubHelp home page GithubHelp logo

air-stable's Introduction

AirStable - AirBnB For Horses

You have a horse. You want to travel with your horse; but all the commercial stables are absurdly expensive. Whatever do you do?!

Enter AirStable! AirStable lets people with extra stalls in their stable rent stalls to horses on the go!

Functional Requirements

  1. Guest may register as a User
  2. Guest may log in
  3. User may create a Stall
  4. User may see a list of available Stalls
  5. User may create a pending RentalRequest for a Stall
  6. Stall owner may see pending RentalRequests
  7. RentalRequests requester may see pending RentalRequests
  8. Stall owner may deny RentalRequests for their Stall
  9. Stall owner may approve RentalRequests for their Stall
  10. RentalRequests requester may see denied RentalRequests
  11. Stall renter may see allowed RentalRequests

STREEEETCH Features

  1. User may include a message in the RentalRequest
  2. User may include the date they want to use the Stall in the RentalRequest
  3. User may search stalls based upon dates available
  4. User may search stalls by location (Hint: use graticule

Learning Goals

  1. Creating secure user registration and login
  2. Building web applications with several related models
  3. Sharing a layout across multiple views

Imporant Philosophical Ramblings

Good programs share the right data in the right form with the right people.

Consider Uber: It combines your location, your ability to pay, and your desire to travel a short distance and shares that with someone who is able to drive you. It then shares that persons car information and distance so you can get in the right car and be transported across the city; after which it transfers some data from your credit card to their bank account.

From a technical perspective this isn't terribly complex. It has been solved in the past with well-staffed call centers and radios. The reason Uber is "winning" is because it automates away the cost of the call center and radios and lowers the barriers to sharing the data to a few taps.

As a web developer, your job is to figure out what is the right data, what is the right form fo rthat data, and who is the right people to have access to the data.

Getting Started

  1. Fork and clone this repo
  2. cd into it
  3. Open docs/mockups.png file; Check that out!
  4. Open docs/model-relationship-diagram file.
  5. Build it. From scratch.

This project is an opportunity for you to start from the ground up and build an application. There's no Gemfile. No config.ru. No app.rb. Just a series of mockups and some requirements.

When you, inevitably, get stuck; review the commits I'm making against a similar application, can-i-eat-here.

I am building can-i-eat-here step by step, annotating the code, linking to relevant documentation, and providing commentary in the commit messages

can-i-eat-here is intended for reference. Do not copy paste. Typing helps you remember and forces you to think about every single bit of syntax. Every time a programmer copy pastes a kitten cries. Don't make the kitten cry.

air-stable's People

Contributors

jfarmer avatar zspencer avatar

Watchers

 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.