Code Monkey home page Code Monkey logo

fresh-pots's Introduction

Fresh Pots

RouteMate logo

Always know where the fresh coffee’s at.

Build badge Coverage badge Maintainability badge standard-readme compliance badge

There are a lot of coffee pots where I work, in different locations spread across multiple floors and buildings. It’s no fun to venture out to your nearby coffee station only to be greeted by a stale, tepid brew. Furthermore, it seems wasteful to make a fresh pot only to have its contents languish away because no one but you is aware of it.

Fresh Pots is a web application that helps to keep teams au courant with their coffee situation by allowing coffee drinkers to easily log when and where they start a brew and to quickly scan the freshness of available pots.

Currently, Fresh Pots is available at https://www.freshpotsapp.com and as an iOS app.

The name Fresh Pots does have an origin, in case you were wondering.

Table of Contents

Install

You should totally set up Fresh Pots for your organization! I originally intended for this project to be fully decoupled from my place of employment, but time constraints. I’d be glad to accept any PRs that make the project more easily usable for any team.

After cloning the project and changing to its directory, you’ll want to run the setup script:

% bin/setup

This will install application dependencies and create your development database. Next, initialize your database with:

% bin/rails db:migrate

That’s all there is to it. Spin up a server on http://localhost:3000 and start hacking:

% bin/rails server

Dependencies

Fresh Pots requires the following to be installed:

  • Ruby 2.4.x
  • PostgreSQL 9.6.x
  • Node 6.10.x
  • Yarn (or NPM)

Domain Model

Dave Grohl exclaiming 'fresh pots!'

Users

A user is someone that authenticates with the app and then creates brews and marks pots as empty. Users have many brews.

Pots

A pot represents some physical device with which coffee can be brewed. If it makes more sense for your situation, you can think of a pot as a location, e.g., break room. Either way, pots have many brews.

pot = Pot.first
# => #<Pot id: 1, name: "Nick’s Chemex", ...>
pot.brews
# => [#<Brew ...>, #<Brew ...>]

Varieties

A variety represents a particular blend or style of coffee. Think Dark Roast, Kenyan Single Origin, or Hombre Cohete.

Variety.first
# => #<Variety id: 1, name: "Community Coffee & Chicory", ...>

Brews

A brew represents an instance of some variety of coffee created with a pot. Each brew belongs to a pot, a variety, and a user.

brew = Brew.first
# => #<Brew id: 1 ...>
brew.pot
# => #<Pot ...>
brew.variety
# => #<Variety ...>
brew.user
# => #<User ...>

Brews will degrade in freshness over time, as shown on the application dashboard.

Maintainers

@ngscheurich

Contribute

PRs accepted.

Small note: If editing the README, please conform to the standard-readme specification.

License

MIT © 2018 N. G. Scheurich

fresh-pots's People

Contributors

ngscheurich avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

fresh-pots's Issues

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.