[AJUDA] Modelagem para SaaS
Olá, pessoal.
Sou dev front-end com um pouco de noção de backend.
Estou desenvolvendo uma aplicação (SaaS) para escolas de idiomas para crianças. Basicamente o sistema tem entidades para as escolas
, funcionários
, alunos
, responsáveis
(pais), turmas
e etc.
Além disso tenho as entidades de faturas
, items de faturas
e a entidade de descontos
, que é onde preciso de ajuda para modelar. E acredito que eu esteja fazendo da forma errada.
A aplicação é bem simples e básica, resumidamente algum funcionário da escola cadastra uma nova fatura junto com os itens da fatura. Nesse ponto eu não criei produtos para relacionar com a futura, apenas um campo ENUM
dentro de itens da fatura, que pode ser, por exemplo: ESCOLA
, LIVROS
, UNIFORME
e etc. Esses seriam os "produtos" que serão "vendidos" e podem ter descontos.
E então eu criei a entidade desconto
para caso um aluno faça o pagamento anual a escola poder aplicar um desconto em porcentagem (o desconto pode ser fixo também, então criei um campo para o tipo de desconto, mas não sei se é relevante), por exemplo. Ou em um caso muito especifico, de um cliente em potencial para o app, que é onde alunos que pagam a escola de forma anual tem descontos em alguns itens que eu citei acima. Então o aluno paga 1 ano de escola e tem 5% de desconto em livros e/ou uniformes e etc.
E a entidade desconto tem uma chave estrangeira para o aluno, ou seja, o desconto é aplicado para o aluno, assim, caso os pais tenham 2 filhos e optem por pagar anualmente apenas para um (o que pode ocorrer), os descontos serão aplicados apenas para um dos alunos.
A ideia é que quando um funcionário criar uma fatura, por exemplo da compra de um livro, o aluno que paga anual automaticamente receba 5% de desconto. Até aí eu consegui fazer tudo funcionar relacionando as tabelas e calculando direto no front os descontos (esse ponto é importante, no front eu chamo os itens da fatura e os descontos e vejo em quais itens eu devo aplicar os descontos "virtualmente", e exibo que aquele item tem desconto). Mas na hora de criar alguns resumos na página de faturas (para os funcionários da escola), como por exemplo: Total em R$
de faturas em aberto, total em R$
de faturas pagas, eu fiz, por enquanto, da forma mais simples possível, que é somar as faturas do mês corrente. Mas isso não reflete exatamente a realidade, pois não estou levando em consideração a entidade de descontos nesse caso.
Estou no caminho certo? Como vocês modelariam essa parte de faturas
, itens de faturas
e descontos
? Criar uma entidade de balanço
para "consolidar"?
Não sei se fui totalmente claro, mas fiquem a vontade para perguntar caso eu tenha deixado passar algo!
Obrigado!