Skip to content

User-friendly scheduling web app with seamless Google Calendar integration

License

Notifications You must be signed in to change notification settings

guipmdev/ignite-call

Repository files navigation

lang-en lang-pt-br

Repository language count Repository size Commit activity Last commit Project license Layout designer

Screenshot of the application initial page

Go to the web application β†—

πŸ“’ Table of Contents

πŸ“ Overview

This project is a scheduling web application developed in Next.js and TypeScript that allows users to create and manage their schedules. It offers features such as user registration, profile management, connection to Google Calendar and creation of scheduling events.

The application aims to simplify the agenda management process and ensure that users have an efficient and organized way of managing their time. Its value proposition lies in its seamless integration with Google Calendar, its user-friendly interface and its robust scheduling and availability management functionality.

✨ Features

🏷 Reserve your username for later

πŸ“… Seamlessly sync your agenda with Google Calendar integration

πŸ‘₯ Personalize your experience with easy user registration and profile management

βž• Create scheduling events without conflicts and add them into your Google Calendar

πŸ”— Share your link and watch events pops right into your agenda.

πŸ€– Demo

ignite-call.mp4

🎨 Layout

The layout of the application was designed by Rocketseat and is available on Figma.

Web application layout image cover

πŸ›  Technologies

The following tools were used to build the project:

Website

Next.js TypeScript ESLint Rocketseat ESLint config

Axios React Hook Form Zod NextAuth.js Day.js Next SEO

Phosphor Icons

Back-end

Prisma TanStack Query Google APIs nookies

* See the package.json file

Utils

Git Node.js Figma Google Fonts VSCode Docker

PlanetScale Vercel

πŸš€ Getting Started

βœ”οΈ Prerequisites

Before you begin, ensure that you have the following tools installed on your machine: Git, Node.js. It's also good to have an editor to work with the code, such as VSCode.

πŸ“¦ Installation

  1. Clone the repository:
git clone https://github.com/guipmdev/ignite-call/
  1. Change to the project directory:
cd ignite-call
  1. Install the dependencies:
npm install

βš™οΈ Usage

  1. Create a SQL database and note down the connection details

    • This can be a local database, a remote database, or even a Docker container
  2. Visit Google Cloud Console, create a project, enable Google Calendar API, and, under Credentials, create an OAuth 2.0 client ID, configure the consent screen, and get Client ID and Secret

  3. Generate a secure secret key for NextAuth.js

    • If you’re on a UNIX system, you can use the command openssl rand -base64 32 to generate this key
  4. Rename the file .env.example to .env and insert the necessary information:

mv .env.example .env
  1. Generate the migrations, if necessary:
npx prisma migrate dev
  1. Push the migrations to the database:
npx prisma db push
  1. Start the web application:
npm run dev
  1. Access http://localhost:3000/ to view the application

πŸ“„ License

This project is licensed under the terms of the MIT license. See the LICENSE file for additional info.

πŸ‘ Acknowledgments

  • Many thanks to Rocketseat for the layout and tips when putting this project together

Made with πŸ’™ by @guipm.dev - Feel free to contact me!


↑   Return to the top   ↑