Site institucional para reservas de passeios de barco de luxo em Búzios, Cabo Frio e Arraial do Cabo.
- Visão Geral
- Acesso ao Projeto Online
- Acesso ao Painel Admin
- Funcionalidades
- Tecnologias Utilizadas
- Ferramentas de Qualidade e Monitoramento
- Scripts NPM Úteis
- Arquitetura e Organização
- Pré-requisitos
- Instalação e Uso Local
- Testes Automatizados
- Build e Deploy
- Contribuição
- Licença
- Contato
O Dash Boat Tour é um site institucional responsivo para reservas de passeios de barco de luxo, com painel administrativo, otimização de imagens, segurança e automação de backups. O projeto foi desenvolvido para promover experiências marítimas inesquecíveis, focando em usabilidade, performance e segurança.
- Site público: https://dashboat-production.up.railway.app
- Painel Admin: https://dashboat-production.up.railway.app/admin
- Acesse o painel admin pelo link acima.
- Faça login com as credenciais padrão:
- Usuário:
admin
- Senha:
password
- Usuário:
- Após login, você terá acesso ao painel de reservas, contatos e estatísticas.
- Página institucional responsiva
- Formulário de reserva com validação
- Painel administrativo para gestão de reservas e contatos
- Carrossel de destinos turísticos
- Otimização de imagens (WebP)
- Segurança com Helmet, Rate Limit e autenticação JWT
- Logs e backups automáticos
- Node.js (backend)
- Express
- JavaScript (ES6+)
- HTML5 & CSS3 / SCSS
- Bootstrap
- Jest (testes)
- Nodemailer (e-mail)
- JWT (autenticação)
- Helmet, CORS, Rate Limit (segurança)
- Lighthouse (auditoria de performance)
- Railway (deploy cloud)
- ESLint e Prettier: Garantem código limpo e padronizado.
- Husky + lint-staged: Executam lint e formatação automaticamente nos commits.
- Sentry: Monitoramento de erros em produção.
- Webpack + Babel: Bundling e transpilação moderna de JS.
- Nodemon: Hot reload no desenvolvimento.
- Cross-env: Gerenciamento de variáveis de ambiente multiplataforma.
- Playwright e Puppeteer: Testes E2E e automação de navegação.
npm run dev
— Desenvolvimento com hot reload (Nodemon)npm start
— Inicia o servidor em produçãonpm run build
— Gera build otimizado emdist/
npm run lint
— Lint dos arquivos JSnpm run lint:fix
— Corrige problemas de lint automaticamentenpm run format
— Formata o código com Prettiernpm test
— Executa testes automatizados (Jest)npm run bundle
— Gera bundles com Webpacknpm run bundle:dev
— Webpack em modo desenvolvimento
- Estrutura modular: Separação clara entre backend (
js/
), frontend (src/js/
), middlewares, services, configs e rotas. - Services: Serviços para dados, e-mail e logs.
- Middlewares: Autenticação, segurança e validação.
- Configurações: Arquivos dedicados para segurança e variáveis de ambiente.
- Testes: Cobertura de API, autenticação e fluxos principais.
- Monitoramento: Sentry integrado para rastreamento de erros.
- Deploy: Railway com healthcheck e restart automático.
- Node.js v18+ (recomendado)
- npm v9+
- (Opcional) Conta de e-mail para envio de notificações
- Variáveis de ambiente configuradas (ver
.env.example
)
- Clone o repositório:
git clone https://github.com/seu-usuario/dashboat-tour.git cd dashboat-tour
- Instale as dependências:
npm install
- Configure as variáveis de ambiente:
- Copie
.env.example
para.env
e preencha os campos necessários.
- Copie
- Rode o servidor local:
O site estará disponível em http://localhost:5000 Para acessar o admin localmente: http://localhost:8080/admin
npm run dev # ou npm start
- Execute os testes com:
npm test
- Testes cobrem API de reservas, contatos e autenticação.
- O build copia arquivos para a pasta
dist/
. - Deploy automatizado via Railway (ver
railway.json
). - Healthcheck e restart automático configurados para produção.
MIT. Veja o arquivo LICENSE.