VacationVibe : aplicativo de reserva de aluguel de temporada
VacationVibe é um aplicativo Full Stack Booking que permite aos usuários reservar aluguéis por temporada, proporcionando uma experiência perfeita para reservar acomodações. O aplicativo permite que os usuários criem anúncios para suas próprias propriedades, dando aos proprietários a oportunidade de mostrar seus aluguéis a possíveis hóspedes. Com VacationVibe , os usuários podem facilmente pesquisar propriedades disponíveis, visualizar detalhes das propriedades, fazer reservas e gerenciar suas reservas.
Para experimentar VacationVibe em primeira mão, visite nosso site para uma demonstração ao vivo:
Visite o site para demonstração ao vivo
Principais recursos
- Sistema de reservas: os usuários podem facilmente pesquisar propriedades disponíveis e fazer reservas.
- Criação de listagem: os proprietários podem criar e gerenciar suas listagens.
- Painel: os proprietários têm acesso a um painel onde podem gerenciar seus anúncios e visualizar solicitações de reserva.
- Contas de usuário: Os usuários podem criar contas para salvar suas propriedades favoritas e gerenciar suas reservas.
Pilha de tecnologia
O aplicativo foi desenvolvido utilizando as seguintes tecnologias:
- MongoDB: um banco de dados NoSQL usado para armazenar dados de propriedades e usuários.
- Express.js: uma estrutura do lado do servidor para construir APIs RESTful e lidar com a lógica do lado do servidor.
- React: uma biblioteca JavaScript para construção de interfaces de usuário.
- Tailwind CSS: uma estrutura CSS utilitária usada para estilizar o frontend.
- Node.js: um ambiente de tempo de execução JavaScript usado para executar o código do lado do servidor.
- Vercel: Uma plataforma em nuvem para hospedagem e implantação de sites estáticos, usada para implantar o frontend do aplicativo.
- AWS S3: Amazon Simple Storage Service (S3) para armazenamento de arquivos, permitindo aos usuários fazer upload e recuperar imagens de propriedades. Ele permite o armazenamento seguro e escalável de arquivos, garantindo um sistema confiável e eficiente para lidar com imagens de propriedades.
Começando
Para executar o aplicativo VacationVibe localmente, siga estas etapas:
- Clone o repositório:
git clone https://github.com/junaidsaleem10144/VacationVibe.git
- Navegue até o diretório do projeto:
cd VacationVibe
- Instale as dependências:
- Back-end: navegue até a pasta
api
e execute npm install
- Frontend: navegue até a pasta
client
e execute npm install
- Crie um arquivo
.env
na pasta api
e forneça as variáveis de ambiente necessárias. Você pode consultar o arquivo .env.example
para obter as variáveis necessárias. - Inicie os servidores de desenvolvimento:
- Backend: Na pasta
api
, execute npm run dev
- Frontend: Na pasta
client
, execute npm run start
Agora você pode acessar o aplicativo VacationVibe abrindo seu navegador e visitando http://localhost:4000
.
Estrutura de pastas
O projeto segue uma estrutura de pastas específica:
-
api/
: Contém o código de back-end, incluindo configuração do servidor, rotas e modelos. -
client/
: contém o código frontend, incluindo componentes, estilos e ativos do React.
Agradecimentos
Gostaríamos de expressar nossa gratidão aos seguintes recursos e bibliotecas que foram fundamentais no desenvolvimento do VacationVibe :
Back-end
- bcryptjs: Biblioteca para hash e comparação de senhas.
- cookie-parser: Middleware para análise de cookies no Express.
- cors: Middleware para permitir o compartilhamento de recursos entre origens (CORS).
- dotenv: Módulo para carregar variáveis de ambiente de um arquivo .env.
- jsonwebtoken: Biblioteca para geração e verificação de JSON Web Tokens (JWT).
- mangusto: biblioteca Object Data Modeling (ODM) para MongoDB.
- multer: Middleware para lidar com uploads de arquivos no Express.
- @aws-sdk/client-s3: uma biblioteca cliente para interagir com o Amazon S3 para armazenar arquivos.
- image-downloader: Biblioteca para baixar imagens de URLs.
- mime-types: Biblioteca para trabalhar com tipos MIME.
- expresso: estrutura da Web para Node.js.
Dependências de desenvolvimento (Backend):
- nodemon: utilitário que reinicia automaticamente o servidor Node.js quando alterações no arquivo são detectadas.
Front-end
- axios: Biblioteca para fazer solicitações HTTP.
- date-fns: Biblioteca para manipulação e formatação de datas.
- react-router-dom: Biblioteca para lidar com roteamento em aplicativos React.
- react: biblioteca JavaScript para construção de interfaces de usuário.
- react-dom: Pacote para renderizar componentes React.
Dependências de desenvolvimento (frontend):
- @types/react: definições de tipo para React.
- @types/react-dom: definições de tipo para React DOM.
- @vitejs/plugin-react: plugin Vite para suporte React.
- autoprefixer: plugin PostCSS para adicionar prefixos de fornecedores ao CSS.
- postcss: ferramenta de pós-processador CSS.
- tailwindcss: estrutura CSS utilitária.
- vite: Ferramenta de construção para desenvolvimento web moderno.
Obrigado por escolher VacationVibe ! Se você tiver alguma dúvida ou feedback, sinta-se à vontade para entrar em contato.
Contribuindo
Contribuições para o aplicativo VacationVibe são bem-vindas! Se você encontrar algum problema ou quiser adicionar novos recursos, sinta-se à vontade para abrir uma solicitação pull.
Licença
Este projeto está licenciado sob a licença MIT.