Sup3r-Us3r / ignite-call

Connect your calendar and let people book appointments in their free time

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ignite Call

Landing Registration Step 1 Registration Step 2 Registration Step 3 Registration Step 4 Calendar Step 1 Calendar Step 2 Calendar Step 3

🔖 Project

The Ignite Call project was built for booking appointments from a calendar with Google Calendar integration. Users can register for the app using their Google account and indicate their days of the week and times when they will be available to schedule appointments. Every schedule registered in the application has integration with Google Calendar, which allows the user to check their new appointments directly on the Google platform.

Ignite Call was built entirely on a Next.js project and used the mechanisms provided by the framework to create and integrate the front-end and back-end from a single code repository. Communication between the application and the database was done using the Prisma.io tool and using a MySQL database in a Docker container. The production database was published from the PlanetScale platform service and Vercel's service was used to host the application.

🚀 Technologies

This project was developed with the following technologies:

  • React
  • Next.js
  • TypeScript
  • Node.js
  • Prisma.io
  • Google APIs
  • Google Cloud Platform
  • Docker
  • Axios
  • Next Seo
  • Nookies
  • React Hook Form
  • Design System
  • Stitches (CSS-in-JS)
  • Phosphor Icons
  • ESLint
  • Dayjs
  • Zod

💻 Run

Para rodar a aplicação será necessário a conexão com um banco de dados MySQL local ou rodando em um container Docker. Além da criação do projeto no Google Cloud Platform para coletar as credenciais necessárias para login e integração com a plataforma Google que constam no arquivo .env.example. Este arquivo também contém a URL de conexão que deverá ser utilizada para a conexão do Prisma com o banco de dados.

Clone this repository:

$ git clone https://github.com/Sup3r-Us3r/ignite-call.git
$ cd ignite-call

Install dependencies:

$ npm i

Create .env:

$ cp .env.example .env

Configure .env example:

# MySQL
DATABASE_URL="mysql://root:docker@localhost:3306/ignitecall"

# Google oAuth
NEXTAUTH_SECRET="any secret"
GOOGLE_CLIENT_ID="your google client id"
GOOGLE_CLIENT_SECRET="your google client secret"

DATABASE_URL: You can have MySQL local or running with Docker, using the command: docker run --name mysql -e MYSQL_ROOT_PASSWORD=docker -p 3306:3306 mysql:latest

NEXTAUTH_SECRET: This secret can be anything, you can generate it with the command: openssl rand -hex 32

GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET: You need to generate these credentials in GCP, here are the official instructions.

Run app:

$ npm run dev

About

Connect your calendar and let people book appointments in their free time

License:MIT License


Languages

Language:TypeScript 99.3%Language:JavaScript 0.4%Language:Shell 0.3%