All Projects → matthewboman → react-google-calendar

matthewboman / react-google-calendar

Licence: other
A react-big-calendar implementation that pulls events from Google calendars

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to react-google-calendar

Add Event To Calendar Docs
📅 Docs how to generate links to add events to online calendar services
Stars: ✭ 193 (+135.37%)
Mutual labels:  google-calendar
google holiday calendar
Get holidays via Google Calendar.
Stars: ✭ 21 (-74.39%)
Mutual labels:  google-calendar
google-calendar-telegram-bot
This bot can interact with Google Calendar API, allowing you to easily add/manage events
Stars: ✭ 34 (-58.54%)
Mutual labels:  google-calendar
Notion-GCal-Sync
A Python script to automate the syncing of tasks between Google Calendar and the all-in-one productivity workspace, Notion. It utilizes API and is customizable for your own needs. Free to use.
Stars: ✭ 120 (+46.34%)
Mutual labels:  google-calendar
public-holidays-js
Public holidays by country. Readonly from google calendar. Nodejs module.
Stars: ✭ 18 (-78.05%)
Mutual labels:  google-calendar
kotlin-js-wrappers
Kotlin JS wrappers for popular JavaScript libraries
Stars: ✭ 48 (-41.46%)
Mutual labels:  momentjs
Eventcal
Filter to only include attending and maybe facebook events in ical and google calendar
Stars: ✭ 187 (+128.05%)
Mutual labels:  google-calendar
alfredToday
Today menu Plugin for Alfred (generalized for public consumption)
Stars: ✭ 39 (-52.44%)
Mutual labels:  google-calendar
tv-lineup-app
"My Lineup" has a Ruby on Rails backend with React/Redux frontend. Users can save their favorite shows and add episodes to their lineup. They can view their lineup in a calendar format to see when and where their tv shows air. Users can also see trending and most watched shows as well as shows premiering that week.
Stars: ✭ 27 (-67.07%)
Mutual labels:  momentjs
ITL
Sample Web API implementation with .NET Core and DDD using Clean Architecture.
Stars: ✭ 29 (-64.63%)
Mutual labels:  momentjs
vue-moment-jalaali
Jalaali Moment.js filters for your Vue.js project
Stars: ✭ 59 (-28.05%)
Mutual labels:  momentjs
magister-calendar
📅 Automatically plan your Magister appointments in your Google calendar.
Stars: ✭ 12 (-85.37%)
Mutual labels:  google-calendar
google-calendar-userstyles
🗓 One Dark theme for Google Calendar
Stars: ✭ 19 (-76.83%)
Mutual labels:  google-calendar
Gam
command line management for Google Workspace
Stars: ✭ 2,558 (+3019.51%)
Mutual labels:  google-calendar
rooms
A simple Display for Meeting Rooms
Stars: ✭ 93 (+13.41%)
Mutual labels:  google-calendar
Eink Calendar
Smart calendar with EInk display and Raspberry Pi
Stars: ✭ 191 (+132.93%)
Mutual labels:  google-calendar
ics-to-json
📅 Convert ICS calendars (eg. Google Calendar) to an opinionated JSON format.
Stars: ✭ 36 (-56.1%)
Mutual labels:  google-calendar
discord-clock
A simple clock script for your bot to show what time it is in your server | Discord.js v13 ready!
Stars: ✭ 29 (-64.63%)
Mutual labels:  momentjs
niles
Niles - a Discord bot for interfacing with Google Calendar
Stars: ✭ 52 (-36.59%)
Mutual labels:  google-calendar
Friend-Time
Discord bot - Friend Time helps your server coordinate times and events by converting times mentioned in chat between time zones!
Stars: ✭ 62 (-24.39%)
Mutual labels:  momentjs

React Google Calendar

React Google Calendar is an implementation of react-big-calendar that pulls events from multiple Google calendars and reformats them for display. It also allows for many kinds of reoccuring events, such as daily, weekly, and monthly.

Demo && Docs

Getting Started

import Calendar from 'react_google_calendar'

const calendar_configuration = {
    api_key: YOUR_GOOGLE_API_KEY,
    calendars: [
      {
        name: 'demo', // whatever you want to name it
        url: '[email protected]' // your calendar URL
      }
    ],
    dailyRecurrence: 700,
    weeklyRecurrence: 500,
    monthlyRecurrence: 20
}

export default class MyApp extends Component {
    constructor(props) {
      super(props)
        this.state = {
          events: []
        }
    }

    render = () =>
      <div>
        <Calendar
          events={this.state.events}
          config={calendar_configuration} />
      </div>
}

Local Development

  • clone the repository git clone https://github.com/crashspringfield/react-google-calendar.git
  • config.js has a demo API for tests. Update config.js with your API key to access your calendar.
  • Download dependencies: npm install
  • Download peer dependencies: npm i array.prototype.flat moment@^2.22.2 react@^16.6.3 react-big-calendar@^0.20.2 react-dom@^16.6.3 webpack
  • Development build with hot reloading: npm start
  • Build for production: npm run build
  • Run tests: npm test

Further setup

  • Get a Google Calendar API key. Simple Calendar has good instructions for setting this up.
  • Create calendars and make them public. Go to https://calendar.google.com/calendar to create a calendar and make it public. You'll need the Calendar ID in your Home component.

Contributing

If there is any bug needing fixing or feature you'd like to see, open an issue. If you're not getting the data back you expect, see below.

Reoccuring event algorithms

Accounting for all the various ways events can reoccur is a huge undertaking and there are many we missed. Right now we support the following:

  • single events
  • daily events (e.g. every day, every n days)
  • weekly events (e.g. every Monday)
  • monthly events by date (e.g. first of the month)
  • monthy events by day (e.g. first Friday)

If you find an edge case that isn't supported, raise an issue, or create a fork and write your own solution.

LICENSE

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].