Git Product home page Git Product logo

cu-there's Introduction

CU There

CS 4300 final project

am2269, ac962, jma353, dl743

CU There utilizes historic Cornell University event data from Facebook to help users optimize their event planning efforts.

This project won the Cornell BOOM 2017 Statistics Award.

Live App!

Check it out here!

Server Configuration

Virtual Environment Setup

Run the following arguments to setup the virtual environment necessary to maintain packages

[sudo] pip install virtualenv # to update virtualenv
virtualenv venv # to create virtualenv

Once the venv is created, you can activate it by running the following:

source venv/bin/activate

Once you have activated venv, run the following to install all package requirements

pip install -r requirements.txt

At this point, if you run pip freeze, only packages in requirements.txt should be shown.

Database Setup

This app uses PostgreSQL (or Postgres). Postgres can be installed a multitude of ways, but if you’re on OSX I recommend utilizing the Postgres App.

Once you have Postgres setup and have your $PATH configured accordingly, run the following:

# Enter postgres command line interface
$ psql
# Create your database
CREATE DATABASE cu_there_db;
# Quit out
\q

Autoenv

For environment variable loading, we run autoenv

To set this up, run the following:

deactivate # if you're running your venv
pip install autoenv # to install if you haven't already installed it
touch .env

The .env file is where you can declare environment variables specific to this app. These variables are loaded on cd-ing into the directory with the .env file. Your .env file should look like this:

export APP_SETTINGS=config.DevelopmentConfig
export DATABASE_URL=postgresql://localhost/cu_there_db
...

Required Environment Variables

APP_SETTINGS
DATABASE_URL
FB_CLIENT_ID
FB_CLIENT_SECRET
EVENTBRITE_TOKEN
export PYTHONPATH=${PYTHONPATH}:pwd

Migrating the DB

To migrate your local DB:

# Initialize migrations
python manage.py db init
# Create a migration
python manage.py db migrate
# Apply it to the DB
python manage.py db upgrade

Client Configuration

cd into the front directory. Install all dependencies with:

npm install

Development

Run the webpack dev server with:

npm run dev

Production

  • Heroku is used for this project's production environment.

  • Webpack must be run locally so it is pushed to Heroku

  • Pickle file must be generated locally to avoid preprocessing occurring on the Heroku server

git checkout heroku
git merge master
rm -r preprocessed.p
python remake_dill.py
cd front
webpack
cd ..
git add .
git commit -m "Heroku push"
git push --force heroku heroku:master
git checkout master

cu-there's People

Contributors

amit-mizrahi avatar anniexcheng avatar dantheli avatar jma353 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

cu-there's Issues

Webapp

Webapp frontend
React+Redux
Treats IR system as a "black box"

Setup

venv, postgres, boilerplate flask

Think about IR system

Want to search based on keyword, location, organization, time, ...? Other attributes?
Keyword search should use topics covered in class

Literature review

Lit review for:

  • Existing ML algorithms (recommended events)
  • IR systems (find an algorithm that searches over spatial data)

Have interpretable results

TA comments: "For instance, for the top similar events, highlight why the system thinks they are similar: show what features have high weights, etc."

Link events to more information

We can either automatically redirect users to the event/venue page when user clicks on the event/venue, or we could have a popup that shows basic information and have a link if users want even more info.

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.