Skip to content

LeonardoMarques7/ProjetoDormeAqui

Repository files navigation

🏠 DormeAqui

Plataforma Full Stack de Hospedagem — inspirada no Airbnb

Ver Online LinkedIn Portfólio


📖 Sobre o Projeto

O DormeAqui é uma aplicação web full stack de hospedagem, construída do zero com foco em experiência do usuário, segurança e boas práticas de desenvolvimento. A plataforma permite que usuários cadastrem acomodações, realizem reservas e efetuem pagamentos de forma segura — cobrindo todo o fluxo de uma plataforma real de hospedagem.

🚀 Deploy em produção no Render (backend) e Vercel (frontend)


✨ Funcionalidades

Funcionalidade Detalhe
🔐 Autenticação JWT + Login social com Google e GitHub (OAuth2)
🏡 Gestão de Acomodações Criação, edição e remoção de imóveis
🖼️ Upload de Imagens Armazenamento via AWS S3
📅 Reservas Sistema de reservas com seleção de datas e hóspedes
💳 Pagamentos Stripe · Mercado Pago (Checkout Transparente + PIX)
⭐ Avaliações Sistema de reviews por acomodação
🔔 Notificações Notificações em tempo real via WebSocket
📧 E-mail Envio de e-mails transacionais com Nodemailer
🔑 Recuperação de Senha Fluxo de reset de senha por e-mail

🛠️ Stack Técnica

Front-end

React TypeScript TailwindCSS Vite Framer Motion

Back-end

Node.js Express MongoDB

Autenticação & Segurança

JWT OAuth2 bcrypt

Pagamentos

Stripe Mercado Pago

Cloud & Ferramentas

AWS S3 WebSocket Git


🚀 Instalação e Uso

Pré-requisitos

  • Node.js v18+
  • MongoDB (local ou Atlas)
  • Contas configuradas: AWS S3, Google OAuth2, GitHub OAuth2, Stripe ou Mercado Pago

1. Clone o repositório

git clone https://github.com/LeonardoMarques7/ProjetoDormeAqui.git
cd ProjetoDormeAqui

2. Configure o Back-end

cd back-end
npm install

Crie o arquivo .env na pasta back-end/ com as variáveis abaixo:

# Banco de dados
MONGO_URL=mongodb://localhost:27017/dormeaqui

# JWT
JWT_SECRET=sua_chave_secreta

# OAuth2 - Google
GOOGLE_CLIENT_ID=seu_google_client_id
GOOGLE_CLIENT_SECRET=seu_google_client_secret

# OAuth2 - GitHub
GITHUB_CLIENT_ID=seu_github_client_id
GITHUB_CLIENT_SECRET=seu_github_client_secret

# AWS S3
AWS_ACCESS_KEY_ID=sua_access_key
AWS_SECRET_ACCESS_KEY=sua_secret_key
AWS_REGION=us-east-1
AWS_BUCKET_NAME=nome_do_bucket

# E-mail (Nodemailer)
EMAIL_USER=seu_email@gmail.com
EMAIL_PASS=sua_senha_de_app

# Pagamentos
STRIPE_SECRET_KEY=sk_test_...
MERCADO_PAGO_ACCESS_TOKEN=TEST-...
MERCADO_PAGO_WEBHOOK_URL=https://suaapi.com/api/webhooks/mercadopago

# URLs
FRONTEND_URL=http://localhost:5173
NODE_ENV=development

Inicie o servidor em modo desenvolvimento:

npm run dev

O servidor estará disponível em http://localhost:4000.


3. Configure o Front-end

cd ../front-end
npm install

Crie o arquivo .env na pasta front-end/ com as variáveis abaixo:

VITE_API_URL=http://localhost:4000
VITE_GOOGLE_CLIENT_ID=seu_google_client_id
VITE_STRIPE_PUBLIC_KEY=pk_test_...

Inicie a aplicação:

npm run dev

A aplicação estará disponível em http://localhost:5173.


📂 Estrutura do Projeto

ProjetoDormeAqui/
├── back-end/
│   ├── config/          # Configurações de banco, Stripe e Mercado Pago
│   ├── domains/         # Módulos por domínio (users, places, bookings, payments, reviews)
│   ├── middleware/       # Middlewares de autenticação e validação
│   ├── routes/          # Rotas principais da API
│   ├── webhooks/        # Handlers de webhooks (Mercado Pago, Stripe)
│   └── index.js         # Ponto de entrada do servidor
└── front-end/
    └── src/
        ├── components/  # Componentes reutilizáveis
        ├── context/     # Contextos React (auth, notificações)
        ├── hooks/       # Hooks customizados
        ├── pages/       # Páginas da aplicação
        └── services/    # Integrações com a API

🌐 Deploy

Serviço Plataforma
Frontend Vercel
Backend Render
Banco de dados MongoDB Atlas
Imagens AWS S3

Ver Online


📫 Contato

LinkedIn Portfólio Gmail

About

DormeAqui é uma aplicação web full-stack de hospedagem que permite que usuários anunciem acomodações e que outros usuários realizem reservas de forma simples e segura. A plataforma oferece gerenciamento completo de listagens, sistema de reservas, avaliações e pagamento integrado com o Mercado Pago.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors