Skip to content

Aplicação web que permite o usuário realizar reservas de viagens.

Notifications You must be signed in to change notification settings

joao-vitor-felix/traveling

Repository files navigation

Traveling

Aplicação web que permite que o usuário realize reservas para viagens.

🎥 Demonstração

💡 Funcionalidades

  • Reserva de viagem;
  • Cancelamento de reserva;
  • Pagamentos;
  • Autenticação com o Google.

🛠️ Stack utilizada

Next.js, React, TypeScript, Prisma, PostgreSQL, Next Auth, Tailwind CSS, React Hook Form, Stripe API, Google Maps API, Jest, React Testing Library, Sentry.

⚙️ Variáveis de Ambiente

Para rodar esse projeto localmente, é necessário adicionar as seguintes variáveis de ambiente no seu .env

DATABASE_URL = URL do seu banco de dados
HOST_URL = URL do ambiente (development ou production)
GOOGLE_CLIENT_ID = ID do cliente OAuth do Google
GOOGLE_CLIENT_SECRET = Secret do cliente OAuth do Google
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY = Key da API do Google Maps
STRIPE_SECRET_KEY = Key secreta da API do Stripe
NEXT_PUBLIC_STRIPE_KEY = Key pública da API do Stripe
STRIPE_WEBHOOK_SECRET_KEY = Key secreta do webhook do Stripe

É necessário instalar o Stripe CLI, logar no Stripe, rodar o script stripe:listen para obter a key e ouvir por eventos do Stripe, e então está tudo pronto para realizar pagamentos.

Para realizar um pagamento de teste no Stripe é necessário utilizar um cartão de crédito de teste. Você pode encontrar os cartões de teste aqui.

NEXTAUTH_SECRET = Secret do Next Auth

Pode ser qualquer string aleatória, é necessário apenas em produção, para ambiente de desenvolvimento é opcional.

💻 Rodando localmente

Clone o projeto

  git clone https://github.com/joao-vitor-felix/traveling.git

Entre no diretório do projeto

  cd traveling

Instale as dependências

  npm install

É possível povoar o banco utilizando o seed.ts script em src/app/lib, para isso rode o comando

npx prisma db seed

Inicie o servidor

  npm run dev

🔍 Rodando os testes

Para rodar os testes, rode o seguinte comando:

  npm test

⌛ Deployment

Este repositório utiliza continuous deployment com a Vercel. Ou seja, toda vez que um commit é feito, o build para produção é feito automaticamente.

🚀 Feedback

Se você tiver algum feedback, por favor me deixe saber por meio de joaovitorfelixcontato@gmail.com

👀 Relacionados

Alguns dos meus outros projetos

About

Aplicação web que permite o usuário realizar reservas de viagens.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published