Git Product home page Git Product logo

hcal's Introduction

hcal

CS50 Final Project - Vincent Li, Anna Lou, Dylan Li

HCAL is a web application, hosted at http://hcal50.herokuapp.com, for compiling and visualizing upcoming club events extracted from organization mailing lists. Emails are first scraped for details about subjects, dates, and times and entered into a list of calendars, after which users are able to enter a combination of queries to find the events they have in mind or to explore for upcoming events. No more digging through an avalanche of emails!

On the web application, the event calendar updates at “/”. New emails are gathered from a Gmail (not the user’s!) that is subscribed to a number of mailing lists. The calendar will update in its current view and filter, displaying the new events announced in these recent emails. By selecting different views and filters or entering queries into the search bar, the user is then able to visualize upcoming events efficiently rather than digging through a mound of organizations and events they are not interested in. Clicking on an event will prompt a popup to offer more details on the event or to suggest copying the event to the user’s personal calendar.

When the user copies the event to their personal calendar, they are able to visualize and receive reminders about the event and its details without having to hunt for the specific email or clutter their calendar with automatic Gmail events. Even with imperfect estimates, users are able to easily browse through possible events for something that might catch their eye, or they might even be reminded of a deadline they hadn’t noticed because of the influx of emails.

Note

At this stage in our project development, we have not gotten the opportunity to experiment with different authentication accounts. So in order to run our program, you must log in via our admin user account ([email protected]) and authenticate through Google. Then visit the URL's "/authorize-gmail" and "/authorize-cal" to authorize the Gmail and Google Calendar APIs. Finally visit the home page ("/") to get started!

Note 2

Our web application deployed on Heroku may experience some occasional internal server errors, which do not occur when running the Flask app locally. We hope to resolve this issue sometime in the near future.

Note 3

When running the Flask app locally, enter the command "export OAUTHLIB_INSECURE_TRANSPORT=1" in Terminal on Mac OSX and Linux or "set OAUTHLIB_INSECURE_TRANSPORT=1" in Command Prompt on Windows. This will enable authentication via non-HTTPS routes.

hcal's People

Contributors

vli1721 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.