main
app
@ 1bf21f0754
Expedição Gold - SaaS de Investimento em Expedições
Projeto demonstrativo de um SaaS simples construído com Next.js (React + Node).
Funcionalidades
- Página inicial (landing) com links para entrar e cadastrar-se.
- Página de login (
/login) – autenticação via API mock (/api/login). - Página de cadastro (
/signup) – criação de conta via API mock (/api/signup). - Após login, redirecionamento para
/dashboard(página "Em construção"). - Logout remove o token do
localStoragee redireciona para login. - API de login e cadastro salva usuários em memória (para demonstração) e retorna um token falsificado.
Pré-requisitos
- Node.js (v18 ou superior)
- npm ou yarn
Instalação
# Clone o repositório (ou copie os arquivos)
git clone <SEU_REPOSITORIO>
cd expedicao-gold
# Instale dependências
npm install
Executando em desenvolvimento
npm run dev
A aplicação estará disponível em http://localhost:3000.
Estrutura de pastas
expedicao-gold/
├─ pages/
│ ├─ _app.js
│ ├─ index.js # landing page
│ ├─ login.js
│ ├─ signup.js
│ ├─ dashboard.js # área logada (em construção)
│ └─ api/
│ ├─ login.js # rota POST /api/login
│ └─ signup.js # rota POST /api/signup
├─ styles/
│ └─ globals.css
├─ package.json
└─ README.md
Como funciona a autenticação (mock)
- Na página de login, ao submeter o formulário, o frontend faz uma
POSTpara/api/logincom{ username, password }. - A rota
/api/loginverifica se o usuário existe no array em memória (users) e compara a senha (usandobcryptjs). - Se válido, retorna um objeto
{ token, user }. O token é salvo emlocalStorage. - O middleware em
dashboard.jsverifica a presença do token; se ausente, redireciona para/login. - Logout remove o token e redireciona para a página inicial.
Observação: Este é apenas um protótipo. Para produção, substitua o armazenamento em memória por um banco de dados real, use cookies seguros ou JWT com expiração, e adicione validação e proteção de rotas no servidor.
Personalização
- Alterar mensagens e estilos nos arquivos de página.
- Estender a API para buscar/salvar usuários em um banco de dados (ex: PostgreSQL, MongoDB).
- Implementar rotas protegidas com middleware ou usando uma biblioteca como
next-auth.
Licença
MIT – sinta-se livre para usar, modificar e distribuir.
Description
Languages
Dockerfile
78.3%
JavaScript
21.7%