Realizado

Novas features em software Ruby on Rails

Publicado em 23 de Janeiro de 2020 dias na TI e Programação

Sobre este projeto

Aberto

Tenho um software desenvolvido em Ruby on Rails com banco de dados Mysql, esse software está bastante desenvolvido porém precisa de algumas features para permitir o lançamento dele. Abaixo a relação do que precisaria ser feito nele.

Features:

1)    Perfil de acesso, já existe a tabela de permissões onde inserimos a permissão por página e por botão. Precisa incluir o pundit para entender o que cada perfil poderá acessar de acordo com a inclusão feita;
Eu tenho a tabela roles e a tabela permission, ambas já funcionam e já consigo gravar qual a role e qual a permission dessa role, sendo que a permission é gravada por tela(páginas do sistema), por tipo (admin, visualizar, escrever) e por botões (habilitar/desabilitar) o acesso as botões.
O que é preciso nessa tarefa é fazer a lógica, com pundit ou cancancan, para que cada perfil criado no sistema possa ter o acesso que foi criado.
Exemplo: Perfil Admin, terá acesso a tudo no sistema, perfil Escrever, terá acesso a escrita no sistema na página de cliente ou demais páginas selecionadas, mas não poderá ter acesso de escrita na página de planos

2)    Feriados - Importação automática através de botão de todos os feriados nacionais do ano em vigor;
Tenho uma tabela no sistema chamada holidays, onde será inseridos todos os feriados (nacionais, municipais, etc), hoje já funciona, mas o usuário tem que inserir os feriados um a um. O que preciso é que tenha uma rotina automática no sistema para importar os feriados nacionais do ano em vigor, exemplo, estamos em 2020, então todos os feriados nacionais de 2020 tem que ser importado na conta do cliente assim que ele cria a sua conta no sistema. E quando virar para o ano seguinte, o sistema importe automaticamente os feriados do ano seguinte;

3)    Calcular o tempo de atendimento, desconsiderando finais de semana e feriados e gravar no BD no campo attendance_time;
Atualmente esse cálculo já existe, porém o cálculo está considerando todos os dias como dias úteis.
O que é necessário é ajustar esse cálculo para considerar somente os dias úteis da semana e caso tenha algum atendimento aberto as 15hs de uma sexta, o cálculo tem que entender as horas úteis das 15hs até as 18hs e depois voltar a contabilizar o tempo do atendimento somente na segunda. O mesmo serve para feriados.

4)    Gráfico de localização - Criar localização por cidades brasileiras ao invés de países;
Já tem um gráfico criado de localização por país, mas quero também ter um gráfico por cidades ou por estados e não somente por país.

5)    Auditoria - Mostrar apenas o que foi atualizado e traduzir;
Já criei em outro projeto a auditoria, para demonstrar no sistema tudo que foi inserido, atualizado, inativado e afins. Porém as atualizações são gravadas no banco como hash e na hora de mostrar na view fica aquela bagunça sem demonstrar claramente o que foi realizado no sistema. Utilizei a gem audit (se não me engano).
O que precisaria é apenas na hora de demonstrar na view, demonstrar de forma clara e traduzida o que realmente foi feito no sistema

6)    API de todas as funcionalidades;
Precisaria do CRUD de 5 telas do sistema. Sendo que não existira o delete, tem que ser o post, get e put

7)    onboarding de novos clientes – quando um cliente fizer o sign-up, deve cair na home, mas tem que abrir um modal com steps, para orientar o cliente quais os passos principais para configurar a conta.
Exemplo: Step 1 do modal: Inserir as permissões / Step 2 do modal: Incluir usuários no sistema / Step 3 do modal: Fazer algum upload.

Será o onboarding para o cliente entender o que precisa ser feito no sistema, para que ele funcione. Exemplo: Step 1, terá um form para indicar ao cliente que ele precisa criar as permissões no sistema, Step 2, terá um form para indicar ao cliente que se ele quiser pode incluir usuários no sistema, Step 3, terá um dropdown dos itens disponíveis para importação, o cliente selecionaria por exemplo, cliente ou financeiro e importaria os dados. Nesse dropdown teriam 5 opções de importações.
Em todos os Steps ele terá a opção de sair a qualquer momento e realizar esses procedimentos depois

Categoria TI e Programação
Subcategoria Aplicativos desktop
Qual é o alcance do projeto? Alteração média
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Integrações de API Outros (Outras APIs)
Plataformas exigidas Windows, Mac OS, Linux / Unix

Prazo de Entrega: Não estabelecido

Habilidades necessárias