Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Sistema de Gestão de Ocorrências Postec

Este projeto é uma aplicação web desenvolvida para auxiliar lojistas na gestão de ocorrências relacionadas a vendas e entregas.

📋 Funcionalidades

Para Lojistas (Painel de Controle)

  • Autenticação: Login seguro com e-mail e senha.
  • Gestão de Lojas: CRUD completo para cadastro e gerenciamento de lojas.
  • Gestão de Ocorrências:
    • Visualização de todas as ocorrências com status.
    • Detalhes da ocorrência com histórico de mensagens (timeline).
    • Atualização de status (Triagem, Aguardando Devolução, Reenvio Solicitado, Estorno Solicitado, Concluído).
    • Resolução de ocorrências com:
      • Reenvio: Inserção de código de rastreio.
      • Estorno: Inserção de valor e upload de comprovante.
    • Comunicação direta com o cliente via chat.

Para Clientes (Portal)

  • Consulta de Pedidos: Busca de pedidos por número e CPF.
  • Abertura de Ocorrências: Solicitação de suporte com descrição do problema.
  • Acompanhamento: Visualização do status e histórico de mensagens da ocorrência aberta.

🚀 Tecnologias Utilizadas

  • Backend: Node.js com TypeScript
  • Banco de Dados: PostgreSQL
  • Autenticação: JWT (JSON Web Tokens)
  • Validação: Zod

📂 Estrutura do Projeto

postec-app/
├── backend/
│   ├── src/
│   │   ├── config/
│   │   ├── controllers/
│   │   ├── middlewares/
│   │   ├── models/
│   │   ├── routes/
│   │   ├── services/
│   │   ├── types/
│   │   └── utils/
│   ├── node_modules/
│   ├── .env
│   ├── package.json
│   └── tsconfig.json
└── frontend/          # (Se aplicável, não descrito neste arquivo)

Descrição das Pastas do Backend:

  • config/: Configurações do projeto (banco de dados, variáveis de ambiente).
  • controllers/: Funções que tratam a lógica de negócio e respostas HTTP.
  • middlewares/: Funções intermediárias como autenticação e validação.
  • models/: Definições de tipos e interfaces para as entidades do sistema.
  • routes/: Definição das rotas da API.
  • services/: Lógica reutilizável, como envio de e-mails.
  • utils/: Funções utilitárias (bcrypt, JWT, validação).

⚙️ Instalação e Configuração

Pré-requisitos

  • Node.js (14.0 ou superior)
  • PostgreSQL (12.0 ou superior)

Instalação

  1. Clone o repositório:

    git clone <url-do-repositorio>
    cd postec-app
    cd backend
  2. Instale as dependências:

    npm install
  3. Configure o ambiente:

    • Crie um arquivo .env na raiz do backend:
      cp .env.example .env
    • Edite o arquivo .env com suas credenciais de banco de dados e chaves da API.
  4. Suba o banco e carregue o seed:

    # Sobe o PostgreSQL via Docker (schema aplicado automaticamente)
    docker-compose up -d
    
    # Carrega os dados de demonstração (garante UTF-8 correto no Windows)
    node backend/database/seed.js

Execução

Para iniciar o servidor em modo de desenvolvimento:

npm run dev

🔧 Rotas da API

Lojas

  • GET /api/lojas: Listar todas as lojas.
  • POST /api/lojas: Criar nova loja (Admin).
  • PUT /api/lojas/:id: Atualizar loja (Admin).
  • DELETE /api/lojas/:id: Deletar loja (Admin).

Autenticação

  • POST /api/auth/login: Login de usuário.
  • POST /api/auth/register-admin: Registrar admin inicial.
  • POST /api/auth/register-loja: Registrar loja inicial.

Portal do Cliente

  • POST /api/portal/ocorrencias: Abrir nova ocorrência.
  • POST /api/portal/pedidos/consultar: Consultar pedido (com slug na URL).
  • GET /api/portal/ocorrencias/:protocolo: Consultar status da ocorrência.

Painel do Lojista

  • GET /api/painel/ocorrencias: Listar ocorrências da loja.
  • GET /api/painel/ocorrencias/:id: Detalhes da ocorrência.
  • PATCH /api/painel/ocorrencias/:id/status: Atualizar status.
  • POST /api/painel/ocorrencias/:id/resolver: Resolver ocorrência.
  • POST /api/painel/ocorrencias/:id/mensagens: Enviar mensagem.

Landing page PosTec

A landing page está em landing-page/, como projeto independente com Astro, TypeScript e Tailwind CSS.

Site publicado: https://landing-page-delta-umber-19.vercel.app

Para executar localmente:

cd landing-page
npm ci
npm run dev

Inclui identidade visual da PosTec, proposta de valor, demonstração interativa do fluxo de pós-venda, integrações previstas, planos, FAQ e contato em suporte@postec.com. Consulte o README da pasta para detalhes e publicação na Vercel.

Aplicação em produção: Vercel + Supabase

Aplicação publicada: https://postec-app.vercel.app

O painel React e a API Express são publicados juntos a partir da raiz do repositório. O banco usa PostgreSQL no Supabase. Consulte o guia de deploy para conexões, migrações sem dados de teste, variáveis de ambiente e agendamento da fila Nuvemshop.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages