Skip to content

An online scheduling application where users reserve a username, complete a Google-linked registration, and set their availability. Others can book slots, creating events in Google Calendar with a meeting link. Built with Next.js, Prisma, React Query, and Stitches, among other modern technologies.

Notifications You must be signed in to change notification settings

PedroLucasAraujo/nextjs_seamless_google_scheduling_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IgniteCall - Seamless Scheduling App

Capa

About The Project

IgniteCall is a scheduling application designed to simplify the process of booking and managing appointments. Users can reserve a username, complete their profile using Google authentication, and set their availability for others to schedule meetings.

Features

  • User registration with username reservation and Google account linkage.
  • Profile completion with availability preferences.
  • Dynamic calendar with clickable dates to view available time slots.
  • Appointment booking with confirmation and detailed event information (name, email, notes).
  • Automatic event creation in Google Calendar with a meeting link.

(back to Top)

Built With

(Back to top)

Getting Started

Follow these steps to set up the project locally.

Prerequisites

Ensure you have the following installed:

  • Node.js (latest LTS version recommended)
  • npm or Yarn
  • Docker (for local PostgreSQL database)

Environment Variables

Create a .env file in the root directory and include the following variables:

# Database connection string for Prisma ORM
DATABASE_URL="" # Example: "postgresql://user:password@host:port/database_name"

# Direct connection string for specific database operations
DATABASE_DIRECT_URL="" # Same format as DATABASE_URL

# Google oAuth credentials
GOOGLE_CLIENT_ID="" # Client ID from Google Cloud Console
GOOGLE_CLIENT_SECRET="" # Client secret from Google Cloud Console

# Secret for NextAuth.js
NEXTAUTH_SECRET="" # Strong random string for securing session data

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/IgniteCall.git
  2. Navigate to the project directory:

    cd IgniteCall
  3. Install dependencies:

    npm install
    # or
    yarn install
  4. Set up the local database:

    docker run --name postgres-ignitecall -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=docker -p 5432:5432 -d postgres
  5. Run database migrations:

    npx prisma migrate dev
  6. Start the development server:

    npm run dev
    # or
    yarn dev

(Back to Top)

Usage

  • Open the application in your browser at http://localhost:3000.
  • Register with a username and connect your Google account.
  • Configure your availability and share your calendar link with others.
  • Manage and track appointments directly from your Google Calendar.

(Back to Top)

About

An online scheduling application where users reserve a username, complete a Google-linked registration, and set their availability. Others can book slots, creating events in Google Calendar with a meeting link. Built with Next.js, Prisma, React Query, and Stitches, among other modern technologies.

Topics

Resources

Stars

Watchers

Forks