Skip to content

Latest commit

 

History

55 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Assistente de viagens com IA

Projeto integrador de inteligência artificial na Unisatc.

Descrição do projeto

Integrantes

Cliente

A Tahiti Viagens & Turismo será cliente do projeto, testando ao longo do desenvolvimento e utilizando a ferramenta quando ela estiver pronta.

Problema

Dificuldade em gerar ideias e roteiros quando o cliente chega com poucas informações sobre a viagem que pretende fazer.

Solução

Ferramenta web que utiliza IA para ajudar agentes de viagem a criar itinerários personalizados com sugestões de destinos, atividades, acomodações e dicas exclusivas.

Fluxo do sistema

O sistema contará com um fluxo simples conforme a imagem abaixo. image Os usuários e as agências serão cadastrados internamente, por isso já inicia com o login.

Protótipo

O protótipo está sendo feito no Figma. A princípio tinha sido pensada uma solução mobile first, porém em conversa com o cliente, vimos que a necessidade maior é poder utilizar a aplicação no pc.

Modelagem dos dados

A modelagem dos dados está sendo feita no dbdiagram.io. Será utilizado um banco noSQL para armazenar e gerenciar os dados da aplicação.


Requisições

POST /agencias

Registro de agências de viagem, não será implementado formulário no Front-end.

Body:

{
	"nome": "teste1",
	"email": "teste1@email.com",
	"logo": "teste1"
}

Retorno:

ok: retorna o id da agência

bad request: mensagem de dados faltantes

internal server error: erro ao registrar agência + mensagem de erro

POST /usuarios

Registro de usuários, só é possível registrar usuários com uma agência existente.

Body:

{
	"nomeUsuario": "teste1",
	"email": "teste1@email.com",
	"senha": "teste1",
	"idAgencia": "670d7490aa23a06753c17dc5"
}

Retorno: ok: retorna o nome do usuário

bad request: caso a agência informada não exista no banco

internal server error: erro ao registrar usuário + mensagem de erro

POST /auth/login

Login de usuário por enquanto sem camada de segurança e autorização de rotas.

Body:

{
	"nomeUsuario": "teste1",
	"senha": "teste1"
}

Retorno:

ok: Login successful!

unauthorized: Invalid credentials

POST /roteiros

A IA gera um roteiro e dicas com base em inputs coletados do Front-end. O usuário pode deixar os inputs em branco, caso queira. Os únicos campos que são obrigatórios são as datas:

Body:

{
	"destino": "Paris",
  	"dt_inicio": "2024-11-01T00:00:00Z",
	"dt_fim": "2024-11-01T00:00:00Z"
}

Retorna o roteiro recém gerado.

POST /roteiros/{id}/enviar-email

Gera um pdf do roteiro cujo id foi fornecido e envia por email.

Body:

{
	"emailCliente": "emailteste@gmail.com",
	"mensagem": "email teste"
}

Retorna se o roteiro foi enviado com sucesso ou uma mensagem de erro.

PATCH /roteiros/{id}

Permite alterar informações do roteiro e das dicas. Assim como para gerar o roteiro, nem todos os campos precisam ser preenchidos.

Body:

{
	"roteiro": {
		"destino": "TESTE DESTINO EDITADO"
	},
	"dica": {
		"bagagem": "TESTE BAGAGEM EDITADA"
	}
}

Retorna o roteiro com as alterações aplicadas.

DELETE /roteiros/{id}

Deleta um roteiro do banco. Não necessita de corpo, apenas retorna se a exclusão foi bem sucedida.

GET /roteiros/{idUsuario}

Retorna uma lista de roteiros referentes ao id do usuário passado na requisição, no caso será o usuário logado.

About

Projeto integrador de inteligência artificial.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages