Skip to content

Imports personal google calendars to find mutual free time between friends. Create and send friends invites to events scheduled in FreeTime.

Notifications You must be signed in to change notification settings

Skipper-Time/FreeTime

Repository files navigation

FreeTime

Overview

FreeTime is a social application that allows users to import their Google calendars to find mutual free time among friends. It makes scheduling events easier, with the visual display of overlapping free time, displated in a calendar format. Its primary goal is to encourage people to seek friendship, bonding, and a feeling of belonging outside of work.

Screen Shot 2022-07-02 at 12 31 24 PM

This is a Next.js project bootstrapped with create-next-app.

Table of Contents

Description

This project was built by a team of 7 developers over the span of 1 week. .....


Installation and Setup

  1. Fork and clone the repo and navigate to the root directory.

  2. To install dependencies:

npm install
  1. To run the development server:
npm run dev
# or
yarn dev
  1. Open http://localhost:3000 in your browser

  2. Firebase setup: Create a New Project and add the information to next.config.js

const withTM = require('next-transpile-modules')([
  '@fullcalendar/common',
  '@babel/preset-react',
  '@fullcalendar/common',
  '@fullcalendar/daygrid',
  '@fullcalendar/interaction',
  '@fullcalendar/react',
  '@fullcalendar/timegrid',
]);

/** @type {import('next').NextConfig} */
module.exports = withTM({
  // your custom config goes here
  reactStrictMode: true,
  env: {
    apiKey: "API_KEY",
    authDomain: "AUTH_DOMAIN",
    projectId: "PROJECT_ID",
    storageBucket: "STORAGE_BUCKET",
    messagingSenderId: "SENDER_ID",
    appId: "APP_ID",
    clientId: "NEED TO FILL THIS IN WITH WHERE CLIENTID IS FOUND",
    clientSecret: "NEED TO FILL THIS IN WITH WHERE CLIENTSECRET IS FOUND",
  },
});

Technologies


Project Details

Login / Sign up Page

This page features a modal where users can either log in or sign up via Google authentication to access their personal calendars. If signing up as a new account, user will grant the app read/write access to user's personal Google calendar.

Calendar Events View

This is where the user is able to see his/her personal calendar, with the "free time" slots emphasized. When friends are selected from the friends list, calendar view will change to display overlapping free time of selected users. The user is then able to create an event with selected participants.

New Event

Clicking on a "free" slot on the calendar opens up this modal. It allows users to enter in information for an event then create the event by sending a Google calendar invite to all selected participants.

Friends

The friends side drawer features 2 lists - current friends and all other users. The user can select current friends to find overlapping calendar times. Or, the user can add a user to the friends list by searching via email or username.

Notifications

The notification tab's back end is still in development, but it will display a user's pending friend requests or event invitations to be accepted or declined. The number by the bell indicates the current number of unread notifications.


Contributors

About

Imports personal google calendars to find mutual free time between friends. Create and send friends invites to events scheduled in FreeTime.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published