https://github.com/cesardmn/smt
Conversor e validador de planilhas Excel para o formato CSV do Sistema de Mensagens Telemáticas dos Correios (SMT).
https://github.com/cesardmn/smt
autoflux correios react smt tailwind telegrama viacep xlsx
Last synced: 3 months ago
JSON representation
Conversor e validador de planilhas Excel para o formato CSV do Sistema de Mensagens Telemáticas dos Correios (SMT).
- Host: GitHub
- URL: https://github.com/cesardmn/smt
- Owner: cesardmn
- License: mit
- Created: 2025-06-17T00:45:55.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-06-19T01:18:40.000Z (4 months ago)
- Last Synced: 2025-06-19T02:25:44.589Z (4 months ago)
- Topics: autoflux, correios, react, smt, tailwind, telegrama, viacep, xlsx
- Language: JavaScript
- Homepage: https://www.autoflux.app.br/smt
- Size: 8.21 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SMT Formater
Conversor e validador de planilhas Excel para o formato CSV do Sistema de Mensagens Telemáticas dos Correios (SMT).
## Visão Geral
O **SMT Formater** é uma aplicação web que automatiza a preparação de arquivos para o envio de telegramas via SMT dos Correios. O sistema realiza a validação, padronização e divisão de dados, garantindo conformidade com as regras do serviço e facilitando o processo para empresas e profissionais.
## Funcionalidades
- **Conversão automática:** Transforma planilhas `.xlsx` em arquivos `.csv` compatíveis com o SMT.
- **Validação de dados:** Verifica campos obrigatórios, formatos e CEPs válidos via integração com a API ViaCEP.
- **Tratamento de erros:** Registros inválidos são separados e disponibilizados para revisão.
- **Divisão de arquivos:** Gera múltiplos arquivos CSV quando o volume excede 200 registros.
- **Modelo de planilha:** Disponibiliza template atualizado para preenchimento.
- **Interface amigável:** Upload por arrastar e soltar, logs de processamento e download simplificado dos resultados.## Como Utilizar
1. **Baixe o modelo de planilha:**
[template_modelo_smt.xlsx](public/docs/template_modelo_smt.xlsx)
2. **Preencha os dados conforme instruções do modelo.**
3. **Faça upload do arquivo `.xlsx` na interface web.**
4. **Aguarde o processamento e baixe os arquivos gerados:**
- Arquivos `.csv` válidos (em partes de até 200 registros)
- Arquivo `.xlsx` com registros inválidos (se houver)Para detalhes sobre o preenchimento, consulte o [manual oficial do SMT](public/docs/02_Manual_do_Usuário_-_SMT_2.27_-_Telegrama.pdf).
## Instalação e Execução
### Pré-requisitos
- Node.js >= 18
- npm >= 9### Passos
```sh
git clone https://github.com/cesardmn/smt.git
cd smt
npm install
npm run dev
```Acesse [http://localhost:3000/smt/](http://localhost:3000/smt/) no navegador.
## Scripts
- `npm run dev` — Inicia o ambiente de desenvolvimento
- `npm run build` — Gera a build de produção
- `npm run preview` — Visualiza a build localmente
- `npm run lint` — Executa análise estática de código
- `npm run format` — Formata o código e executa o linter## Estrutura do Projeto
- [`src/components/`](src/components/) — Componentes React da interface
- [`src/hooks/useFileProcessor`](src/hooks/useFileProcessor.jsx) — Hook principal de processamento de arquivos
- [`src/utils/`](src/utils/) — Utilitários de leitura, formatação, geração de CSV e validação
- [`public/docs/`](public/docs/) — Documentação e modelo de planilha
- [`public/img/`](public/img/) — Imagens e ícones## Tecnologias
- [React](https://react.dev/)
- [Vite](https://vitejs.dev/)
- [Tailwind CSS](https://tailwindcss.com/)
- [SheetJS/xlsx](https://sheetjs.com/)
- [jszip](https://stuk.github.io/jszip/)
- [react-icons](https://react-icons.github.io/react-icons/)## Licença
MIT © 2025 Cesar Dimi
---
uma ferramenta [autoflux](https://autoflux.app.br/)