Giter Club home page Giter Club logo

cs50-final-project's Introduction

PUNCTUALITY

Welcome to Punctuality

This is the final project of CS50x. It is a web application that helps you add events on your Google Calendar, and automatically tells you the departure time. It simplifies the process of adding a new event and checking the departure time.

Introduction

Click below to see video intro: Watch the video intro here

User Instruction

Register & Login

  1. Create a new account by the "Sign up" button on the nav-bar, or "Get Started" button in hero section. Then click "Sign in"" to login your account.

SETTING

Here can setup some default value for you to edit a new event

  1. After login, go to SETTING page to edit your *Address Label and Preferences. (Note: You can use the SCHEDULE function as long as you setup your "Time Zone" and "Commute Mode". )

  2. Click the button to edit your Home address and Work address. It will help you to search for the address.

  3. Click the "Add" and "Delete" button to and other address you frequently-used.

  4. Click the Edit button to setup your Preference Commute Mode and Time Zone. (Note: The Commute Mode will be the default one for adding a new event, you can still select other options if needed.)

SCHEDULE

This page is for adding new events, getting departure time and commute time. You can also check your calendar and event here.

  1. Click the "New Event" button
  2. Edit the event info such as Title, Date, Time, Destination, and Description.
  3. Select the where you will departure. If you will leave from home, just not need to change it.
  • if you select "Other", you can use other places not in your labels.
  1. Select the Commute Mode you plan to go to the event. Your preference mode (you set in SETTING page) will be the first choice as well.

  2. Click the "Save" button after you complete.

Check the event

After schedule you can check your event in calendar. You can click "month" "week" "day" to check the event.

The calendar will show the event, the commute time you need, and when to departure.

You can also find the same event,commute time and departure time on your goolge calendar.

Project Description

Frameworks/Libraries

Below are the resources I used to build this project.

Prerequisite

Installation

By following these instructions you can run this application on your local machine.

Use pip install -r requirements.txt to install, or run the folloing commands:

pip install flask

pip install flask_session

pip install googlemaps

pip install google-api-python-client

pip install google-auth-oauthlib

pip install python-dotenv

Google Cloud Platform Activation

Activate your GCP and get the api-key for uses. You'll need to activate the following API in your GCP:

  • Places api
  • Distance matrix api
  • Calendar api*

(*note:In order to use Calendar API, you also need to setup "OAuth2" to get the "client_secret.json" file, then download it and add into this project)

After that you can get your API_KEY from GCP. Create a .env file, open it and set `API_KEY={YOUR_API_KEY}โ€ต. Then you can run this project on your computer!

cs50-final-project's People

Contributors

robodo2020 avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

sokahi

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.