Giter Site home page Giter Site logo

coffeecoffeecoffeecoffee / coffee Goto Github PK

View Code? Open in Web Editor NEW
13.0 2.0 6.0 1.92 MB

The site where you can create a group to meet for coffee (or anything else). ☕️

Home Page: https://coffeecoffeecoffee.coffee

License: GNU General Public License v3.0

Ruby 86.43% HTML 8.20% JavaScript 0.84% Shell 0.08% SCSS 4.38% Procfile 0.06%
coffee

coffee's Introduction

☕️

CI

Getting Started

Prerequisites

  • PostgreSQL

Installing and Running

  1. Make sure that all prerequisites are installed and running locally.
  2. Run rails credentials:edit to add the required credentials.
  3. Run bin/setup to install dependencies and prepare the local database.
  4. Run rails s to start the Rails server.

Required Credentials

cloudinary:
  cloud_name: YOUR_CLOUDINARY_CLOUD_NAME
  api_key: YOUR_CLOUDINARY_API_KEY
  api_secret: YOUR_CLOUDINARY_API_SECRET

foursquare:
  client_id: YOUR_FOURSQUARE_CLIENT_ID
  client_secret: YOUR_FOURSQUARE_CLIENT_SECRET

twitter:
  consumer_key: YOUR_TWITTER_CONSUMER_KEY
  consumer_secret: YOUR_TWITTER_CONSUMER_SECRET
  bearer_token: YOUR_TWITTER_BEARER_TOKEN

superadmin: YOUR_TWITTER_ACCOUNT_NAME

Running the tests

rspec

Linting

bin/lint

Deployment

Deployment of the master branch to Heroku is done manually after CI passes.

API

Endpoint: https://coffeecoffeecoffee.coffee/api

Documentation is available in /docs.

Admin Instructions

Creating an Event

  1. Sign in
  2. Visit https://coffeecoffeecoffee.coffee/admin
  3. Click "New event"
  4. Fill out the form *Note: Times in the admin panel are in UTC. Here's a handy time zone converter: https://www.timeanddate.com/worldclock/converter.html
  5. To find the Foursquare Venue ID, find the URL of the venue on Foursquare (e.g. https://foursquare.com/v/blue-bottle-coffee/5c3384fbacc5f5002c89a62c) and copy the Venue ID from the URL (e.g. 5c3384fbacc5f5002c89a62c)
  6. Click "Create event"

License

This project is licensed under the GNU GPLv3 License -- see the LICENSE.md file for details.

coffee's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar depfu[bot] avatar fiteclub avatar jamescmartinez avatar rodericj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

coffee's Issues

Hide inactive groups?

We have a few inactive groups. How should we prevent them from showing up on the home page?

Thinking only showing groups with an event in the last X days. Thoughts?

DEPRECATION NOTICE

I no longer have time to maintain or continue working on this. I've posted in Slack looking for a new maintainer or a replacement.

Add meta tags to page for Open Graph and Twitter Cards

Meta tags allow for expanding a URL into a more useful summary of the content on that page. When sharing the URL on Slack or Facebook those useful details will be included in the post.

The meta tags below from a Foursquare detail page can be used as a reference.

The simplest ones to add will be Open Graph as they don't require additional configuration with Slack or Facebook. Twitter Cards will require some setup on Twitter.

For Open Graph the following meta tags could be added.

  • og:site_name: iOS Folks Coffee
  • og:title: Ritual Coffee Roasters
  • og:description: Wednesday Coffee
  • og:image: URL of first 4sq image
  • og:url: URL of detail page on 4sq
  • og:type: playfoursquare:venue

Open Graph

  <meta content="Foursquare" property="og:site_name" />
  <meta content="Ritual Coffee Roasters" property="og:title" />
  <meta content="Coffee Shop in San Francisco, CA" property="og:description" />
  <meta content="https://igx.4sqi.net/img/general/600x600/327259_6ULKGf6GE0hCODVXakplFwyOBxEX-eV8zIVfT9854bk.jpg" property="og:image"
  />
  <meta content="https://igx.4sqi.net/img/general/600x600/597118_iO940KIJ6Iv1xF8RR2RmjMDnlisXSuAhlZ7Le_qmfww.jpg" property="og:image"
  />
  <meta content="https://igx.4sqi.net/img/general/600x600/F7MvUGVRVPFW8ZblxKbhrn1CMeaTiuirk3XN5ZPZ36k.jpg" property="og:image"
  />
  <meta content="https://igx.4sqi.net/img/general/600x600/6GHmCG8ehdGcvmTMfRm5cQT8h0tVNS6oYilVi03cTr8.jpg" property="og:image"
  />
  <meta content="https://foursquare.com/v/ritual-coffee-roasters/42853f80f964a5200c231fe3" property="og:url" />
  <meta content="playfoursquare:venue" property="og:type" />

Twitter Cards

  <meta content="@foursquare" name="twitter:site" />
  <meta content="@foursquare" name="twitter:creator" />
  <meta content="summary_large_image" name="twitter:card" />
  <meta content="https://foursquare.com/v/ritual-coffee-roasters/42853f80f964a5200c231fe3" name="twitter:url" />
  <meta content="Coffee Shop in San Francisco, CA" name="twitter:description" />
  <meta content="Ritual Coffee Roasters" name="twitter:title" />
  <meta content="https://igx.4sqi.net/img/general/600x600/327259_6ULKGf6GE0hCODVXakplFwyOBxEX-eV8zIVfT9854bk.jpg" name="twitter:image"
  />

Image uploads seem to be failing for events, groups

Hi all!

I'm Brandon, and Jaim added me as an organizer of MSP Coffee. We've been looking at adding events and filling out the rest of our profile, but it looks like image uploads are failing.

I've tried uploading JPEGs and PNGs of various sizes, but they all seem to fail. For example, this is what is returned as the image url for our most recent event: this image

I'll clone the repo and dig in momentarily to see if I can figure out what's going on locally, but in the meantime, if there's something clear about this I'm missing or can be fixed without a code change, let me know.

Thanks!

Things blow up when Foursquare does not respond with a valid venue

We don't handle invalid/nil venues correctly. When they're nil things blow up.

Foursquare turned off our access for not adding a credit card to their service. That’s what I get for ignoring all of those privacy policy emails. This was causing that request to fail (fine) but then we expect a venue to always exist but now we get nil so we get an exception.

Ugly query to run in console to recreate:

Group.first.events.order(:created_at).first.venue.image_url

Dependabot is broken because it can no longer read GitHub Workflow secrets

For good reason [1, 2], GitHub updated forks to not have access to secrets when running CI.

Solutions are currently difficult, but it looks like there is an ongoing conversation to provide easier solutions [3]. This issue is being created to track the known issue and follow up at a later date.

Add favicon

I can probably do this any objections to using this?
☕️

Set Channel Topic in Slack

Is deeper Slack integration something that others would want?

I think it would be great if given an upcoming event, the corresponding Slack channel's topic could be updated to provide the date/venue info.

E.g. Next up: Thursday December 21, 2017, 7pm. Eclipse Bar @ Hyatt Regency

I'm going to use this as an opportunity to get up to speed on this app, and Rails in general (I don't have much experience). But curious if it's something others see as useful?

Add support for another calendar

In addition to the coffee meetup the page could also include details for the beer meetup which is on Thursdays. But perhaps with variables being defined to use at runtime then a 2nd Heroku app could be deployed with the variables set for another calendar.

#6

Add a link to this repo on the site

The interested parties in the end results of this effort are likely also interested in the GitHub repo. I think someone/you/we should throw a footer on the page(s)

Use the group's local time zone

When adding events, accept and show times in the local time zone rather than UTC. The time zone is already stored for each group.

Create a POST for creating new events

I would love to create new events without using the web interface for reasons. This would need to be an authenticated call, likely in the headers but I'm open to alternatives

POST /event

{
 "foursquareID" : "someIDFromFoursquare",
"beginTimeStamp" : 12345,
"endTimeStamp" : 55433,
"title": "The best coffee ever",
"groupID": "someUUIDforGroups"
}

Create variables in Heroku which can be read from Ruby

It would be better to remove these hard-coded values so they can be changed with settings in Heroku when it is deployed. I expect they would work like environment variables so running locally would simply define these variables when the app is started.

Groups should have owners

Currently, people who are given access to create events have full access to delete/edit everything for every group. This is dangerous and, though it's worked well for a small group, we've continued growing and this is no longer the best option.

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.