Google Calendar Block

Inspiration

As things have moved online these past few months, I've realized how important it is to have everything on my calendar, otherwise, I forget it. When I started this project, I was thinking, what do I think Airtable is good at?

Airtable is a great place to store and keep track of information

Then, I thought, where else do people store and keep track of information?

💡 Google Calendar 💡

What it does

There are two main functions of the block

  1. View calendar events - the default shows you the calendar events you have for today, but if you select a date inside of airtable, you will see the calendar events for that date
  2. Create calendar events - the default is that you will create a calendar event for today, but if you select a date, it will create an event for that date/time you have selected

How I built it

If I'm being honest, I have no clue how I built it. If a JavaScript developer goes and looks at my code they would probably amazed that it's even running.

Challenges I ran into

  1. The OAuth Issue - I have a real not-so-great way of achieving OAuth in this, and I really wish there was better support for it
  2. Hooks - who knew something that sounds so simple could be such a pain in the ass?
  3. React State - still struggling to understand all of the little nuances of state. How to update state? How to share state? How to re-render off of state?

Accomplishments that I'm proud of

This is the first thing I've ever really built in React. I learned a lot, and I understand React a lot better now. My code is still pretty shit, but I'm glad I could probably understand someone else's React app now.

What I learned

I learned a lot:

  1. React Hooks
  2. Using state in React
  3. Locked down JavaScript syntax
  4. Async - this is when I figured out that React feels a lot harder than backend coding
  5. As primarily a backend dev, I figured out there's a lot more to an app than just manipulating and sending JSON requests around haha

What's next for Google Calendar Block

I'm a perfectionist and good at brainstorming, so here are some of the things I'm wanting to change:

  1. This block isn't built perfectly, there are some bugs, and I want to get rid of those first
  2. Clean up the code to make it easier to read and understand
  3. Allow users to edit events
  4. Add view to show the events for a week, not just one day
  5. Include being able to invite people to an event
  6. When the cursor is on an email address, it shows events you have with that person
Share this project:

Updates