Skip to content

Latest commit

 

History

History
382 lines (315 loc) · 15.1 KB

README.md

File metadata and controls

382 lines (315 loc) · 15.1 KB

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   ↑