Coder Social home page Coder Social logo

gavin-x / 4sweep Goto Github PK

View Code? Open in Web Editor NEW

This project forked from foursquare/4sweep

0.0 0.0 0.0 638 KB

4sweep is a power tool for Foursquare Superusers

License: MIT License

Ruby 20.76% JavaScript 0.23% CoffeeScript 39.15% HTML 34.93% CSS 4.93%

4sweep's Introduction

4sweep

4sweep is a Rails 3.2 web application for mass editing of Foursquare venues. It is built on a concept of "flags" that can be submitted to the Foursquare API v2. 4sweep supports the following flag types, which all operate on venues:

  • Edit Venue Details (name, address, contacts, etc)
  • Close Flag (event over, closed) and Re-Open
  • Delete Flag (inappropriate, does not exist) and Undelete
  • Make Private Flag
  • Change Categories (add, remove, replace all, with special home category flag)
  • Photo Flags
  • Tip Flags

Additionally, there is a rich Javascript based UI that makes generating hundreds of flags feasible. The UI uses the Google Maps API v3.

Flags are submitted against the Foursquare API using a queue managed by DelayedJob.

Current Status

4sweep was unmaintained as of March 2015, but in July of 2018, 4sweep was open sourced and has become primarily maintained by Foursquare. While Foursquare will make periodic security and maintenance updates, the 4sweep/Foursquare community is highly encouraged to fork and submit pull requests with new features.

Explorer Features

  • Generate flags of any type quickly
  • Search based on:
    • Search term
    • Categories
    • Center point + radius
    • Bounding box
    • Mayorships of user
    • Recently created venues
  • Split large areas into smaller subareas
  • Filter venues using an advanced search BNF grammar

Flag Features

  • Flags can have comments
  • Can be checked to see if they were applied
  • Can be scheduled for a future date (through Delayed Job)

Configuration and setup

4sweep is currently built for Rails 3.2 (Ruby 2.0.0) and uses Bootstrap 2.0. You will need to install all required gems. It relies on a database supported by ActiveRecord, and has only been tested with MySQL 5.5/5.6.

Additionally, you will need to install PEG.js, a JavaScript parser generator library. The easiest way to do this is via npm:

$ npm install pegjs

After installing PEG.js, make sure that it is executable on your command line:

$ pegjs -v
PEG.js 0.8.0

You only need PEG.js in your development environment. It is used as part of the Rails asset pipeline to generate a javascript parser.

ENV Variable Storage

4sweep now uses ENV variables to store sensitive config variables (like api keys, database credentials, etc). Feel free to use whatever method of storing these ENV variables works best for you, but if a config/app_environment_variables.rb file is present, it will be loaded. An example of what that file might look like (and the variables currently stored) can be found in the config/app_environment_variables-example.rb file.

Most recent variables used:

ENV['APP_SECRET'] = 'REPLACE_ME'

ENV['DB_ADAPTER'] = 'mysql2'
ENV['DB_DATABASE'] = 'REPLACE_ME'
ENV['DB_USERNAME'] = 'REPLACE_ME'
ENV['DB_PASSWORD'] = 'REPLACE_ME'
ENV['DB_HOST'] = 'localhost'

ENV['FOURSQUARE_CLIENT_ID'] = 'REPLACE_ME'
ENV['FOURSQUARE_CLIENT_SECRET'] = 'REPLACE_ME'
ENV['OAUTH_CALLBACK'] = 'http://localhost:3000/session/callback'
ENV['GOOGLE_MAPS_KEY'] = 'REPLACE_ME'
ENV['AWS_KEY'] = 'REPLACE_ME'
ENV['AWS_SECRET'] = 'REPLACE_ME'
ENV['AWS_S3_BUCKET'] = 'REPLACE_ME'
ENV['CLOUDWATCH_KEY'] = 'REPLACE_ME'
ENV['CLOUDWATCH_SECRET'] = 'REPLACE_ME'
ENV['ROLLBAR_ACCESS_TOKEN'] = 'REPLACE_ME'

4sweep's People

Contributors

zackgilbert avatar lepht avatar 4sweep avatar gavlinski 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.