About | Routes | Setup | Technologies | License
Plann.er é uma aplicação de planejamento de viagens que permite criar e gerenciar planos de viagem de forma colaborativa. Com Plann.er, você pode:
- Montar planos de viagens com amigos.
- Registrar atividades e eventos importantes.
- Adicionar links úteis e recursos sobre a viagem.
Cria uma nova viagem.
{
"destination": "Florianóplis",
"starts_at": "2024-08-10 10:00:00",
"ends_at": "2024-08-20 10:00:00",
"owner_name": "Daniel Egidio",
"owner_email": "daniel@gmail.com",
"emails_to_invite": [
"daniel@gmail.com",
"johndoe@gmail.com"
]
}
{
"tripId": "ce32c8a5-2c13-44fd-8050-27dfcf24c201"
}
Retorna os detalhes de uma viagem.
{
"trip": {
"id": "ce32c8a5-2c13-44fd-8050-27dfcf24c201",
"destination": "Florianóplis",
"starts_at": "2024-08-10T13:00:00.000Z",
"ends_at": "2024-08-20T13:00:00.000Z",
"is_confirmed": false
}
}
Altera uma viagem.
{
"destination": "Florianóplis - SC",
"starts_at": "2024-08-15 10:00:00",
"ends_at": "2024-08-20 10:00:00"
}
{
"tripId": "ce32c8a5-2c13-44fd-8050-27dfcf24c201"
}
Confirma uma viagem.
Envia um convite a um participante para uma viagem.
{
"email": "teste@gmail.com"
}
{
"participantId": "7a008aa3-134b-4e72-a531-7ebb41010c7b"
}
Retorna os participantes de uma viagem.
{
"participants": [
{
"id": "4693de37-1d8c-492a-9025-53cae2300f24",
"name": "Daniel Egidio",
"email": "daniel@gmail.com",
"is_confirmed": true
},
{
"id": "59ce11ac-50ef-4739-b444-458156bce2a7",
"name": null,
"email": "johndoe@gmail.com",
"is_confirmed": false
},
{
"id": "7a008aa3-134b-4e72-a531-7ebb41010c7b",
"name": null,
"email": "teste@gmail.com",
"is_confirmed": false
}
]
}
Retorna os detalhes de um participante.
{
"participant": {
"id": "7a008aa3-134b-4e72-a531-7ebb41010c7b",
"name": null,
"email": "teste@gmail.com",
"is_confirmed": false
}
}
Confirma um participante na viagem.
Cria uma atividade em uma viagem.
{
"title": "Academia",
"occurs_at": "2024-08-18 18:00:00"
}
{
"activityId": "f944daf7-e7e6-47a2-b050-1556d6a9e963"
}
Retorna as atividades de uma viagem.
{
"activities": [
{
"date": "2024-08-15T13:00:00.000Z",
"activities": []
},
{
"date": "2024-08-16T13:00:00.000Z",
"activities": []
},
{
"date": "2024-08-17T13:00:00.000Z",
"activities": []
},
{
"date": "2024-08-18T13:00:00.000Z",
"activities": [
{
"id": "d63bcbbc-3c50-4cb6-8961-c1f9c6e5fabf",
"title": "Academia",
"occurs_at": "2024-08-18T21:00:00.000Z",
"trip_id": "ce32c8a5-2c13-44fd-8050-27dfcf24c201"
}
]
},
{
"date": "2024-08-19T13:00:00.000Z",
"activities": []
},
{
"date": "2024-08-20T13:00:00.000Z",
"activities": []
}
]
}
Cria um link em uma viagem.
{
"title" : "Reserva do AirBnB",
"url" : "http://airbnb.com/reserva-journey"
}
{
"linkId": "e1b00fc4-f99a-4cd5-b33a-6db2b3b72716"
}
Retorna os links de uma viagem.
{
"links": [
{
"id": "e1b00fc4-f99a-4cd5-b33a-6db2b3b72716",
"title": "Reserva do AirBnB",
"url": "http://airbnb.com/reserva-journey",
"trip_id": "ce32c8a5-2c13-44fd-8050-27dfcf24c201"
}
]
}
Antes de baixar o projeto você vai precisar ter instalado na sua máquina as seguintes ferramentas:
Além disto é bom ter um editor para trabalhar com o código como VSCode
Para testar as rotas da aplicação você pode usar o cliente HTTP Postman
Passo a passo para clonar e executar a aplicação na sua máquina:
# Clone este repositório
$ git clone https://github.com/DanielEgiidio/planner_backend.git
# Instale as dependências
$ npm install
# Crie o arquivo '.env' e preencha as variáveis conforme o arquivo '.env.example'
# Execute as migrations para criar as tabelas necessários no banco
$ npx prisma migrate-dev
# Execute a aplicação em modo de desenvolvimento
$ npm run dev
# A aplicação inciará na porta que você configurou no arquivo '.env'
As seguintes principais ferramentas foram usadas na construção do projeto:
Para mais detalhes das dependências gerais da aplicação veja o arquivo package.json
Este projeto está sob a licença MIT. Consulte o arquivo LICENSE para mais informações