👨💻O Splitdummy é uma aplicação web monousuário para dividir contas de bares e restaurantes com seus amigos.
👥É possível adicionar participantes, itens e depois dividir tudo por meio das partes.
💲No final da conta é possível ainda adicionar a taxa de serviço, que vem por padrão em 10%. Se não desejar incluir a taxa ou o estabelecimento não cobrar, basta definir o valor da taxa para 0.
🛠️Desenvolvido utilizando React, Vite, Typescript e TailwindCSS
➗As partes permitem que os itens sejam divididos tanto por quantidade quanto apenas um item para vários particpantes.
💰O valor de cada parte equivale ao valor total do item(Quantidade x Valor unitário) dividido pela soma das partes.
Exemplo:
Supondo que 3 pessoas compraram 2 refrigerantes que custavam 15 reais cada.
O valor total seria 30 reais(15 reais x 2 unidades). Se cada pessoa ficasse com uma parte o valor de cada parte seria 10 reais(30 reais / 3 partes)
- Adicionar os participantes
- Adicionar os itens(descrição, valor unitário, quantidade)
- Selecione um item para dividir
- Atribua as partes para cada participante de cada item
- Acesse a página de conta finalizada para ver o valor final de cada participante
| Pessoas | Itens | Divisão | Conta |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Utilizamos o Testlink para construir o Projeto de Testes da Tela de itens da aplicação
O projeto está identificado na plataforma como 8s:splitdummy
** src/modules/divide.test.tsx**
- Responsável: [João Vitor]
- Componente testado: Divide (página de divisão de itens)
- Testes criados: 8 testes
- Funcionalidades testadas:
- Validação de seleção de itens
- Validação de quantidade zero
- Adição e incremento de partes (
handleIncreaseParts) - Decremento de partes (
handleDecreaseParts)
** src/modules/items.test.tsx**
- Responsável: [Daniel Borges]
- Componente testado: Items (página de cadastro de itens)
- Testes criados: 9 testes
- Funcionalidades testadas:
- Mensagem de lista vazia
- Validação de campos obrigatórios (descrição, valor, quantidade)
- Adição de itens (com e sem itens existentes)
- Remoção de itens
- Incremento e decremento de quantidade
** src/modules/people.test.tsx**
- Responsável: [Gabriel Ferraz]
- Componente testado: People (página de gerenciamento de participantes)
- Testes criados: 3 testes
- Funcionalidades testadas:
- Adição de participantes
- Validação de nome vazio
- Remoção de participantes
** src/modules/receipt-utils.spec.ts**
- Responsável: [Henrique Santana]
- Módulo testado: receipt-utils (funções de cálculo)
- Testes criados: 10 testes
- Funcionalidades testadas:
calculatePriceWithServiceTax: cálculo com taxa de serviçogetParticipantTotal: cálculo total por participantegetTotalPrice: cálculo total geral
# Executar todos os testes
npm test


