Aplicação web que permite que o usuário realize reservas para viagens.
- Reserva de viagem;
- Cancelamento de reserva;
- Pagamentos;
- Autenticação com o Google.
Next.js, React, TypeScript, Prisma, PostgreSQL, Next Auth, Tailwind CSS, React Hook Form, Stripe API, Google Maps API, Jest, React Testing Library, Sentry.
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.
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
Para rodar os testes, rode o seguinte comando:
npm test
Este repositório utiliza continuous deployment com a Vercel. Ou seja, toda vez que um commit é feito, o build para produção é feito automaticamente.
Se você tiver algum feedback, por favor me deixe saber por meio de joaovitorfelixcontato@gmail.com
Alguns dos meus outros projetos