O resumo do Xenocrates Xenocrates é um aplicativo projetado para fornecer às empresas um sistema de gerenciamento de funcionários para garantir uma melhor organização. O Xenocrates é construído no ASP.NET MVC com o SQL Server como banco de dados e jQuery para solicitações de dados ASYNC. Os serviços de Xenocrates são divididos em três categorias principais
Serviços de administração: • Estatísticas para toda a empresa que o mantém atualizado para sua empresa. • Veja a contagem dos funcionários em cada função. • Operações da CRUD em todos os trabalhadores de sua empresa, navegue para encontrar todos os detalhes que ele deseja sobre seus funcionários • Operações da CRUD em todos os seus departamentos e ver detalhes específicos de cada departamento • Veja todos os projetos ativos, mas também concluídos em todos os seus departamentos com detalhes. • Sistema de pagamento integrado com o PayPal que lhe permite pagar rapidamente com um clique de um botão. • Histórico de pagamentos analíticos para cada funcionário. Serviços de supervisor: • Estatísticas de seu departamento. • Ver detalhes de cada trabalhador em seu departamento • Operações de CRUD em calendários individuais para seus funcionários • Operações de Crud em projetos • Capacidade de organizar e se comunicar com bate -papo ao vivo
Serviços dos funcionários: • Comunicação com todos em seu departamento com bate -papo ao vivo • Veja seu calendário para ver sua programação para o mês • Veja e finalize os projetos designados a ele
Detalhes dos serviços: • O PayPal agora está integrado no modo Sandbox, mas tem todos os potenciais para ir ao ar. No momento, Xenocrates coopera com o serviço de pagamento da API do PayPal. O sistema de pagamento do Xenocrates é construído para que possa proteger o Admin de cometer um erro nos pagamentos. Depois que um funcionário é pago, aparece uma mensagem que lembra que o Admin já pagou ao funcionário específico e não permite que ele o pague novamente durante o mês. Após cada tentativa de pagamento, o sistema detecta o status da solicitação e, se for positivo, economiza o pagamento bem -sucedido ao sistema e o armazena nos dados pessoais do funcionário para que o administrador possa ter um rastreamento completo de seus pagamentos, caso contrário, o sistema anuncia que foi um problema com a transação. • O email e o telefone inseridos para cada funcionário são pesquisados em escala global para verificar se são válidos, para que nenhuma conta falsa seja registrada. APIs para isso incluem nutronapifona e zerobounce1. • Método de segurança que é executado com frequência para garantir que nenhuma entrada inadequada seja salva no banco de dados • bate -papo ao vivo com a implementação da tecnologia SignalR que permite que todos os funcionários de um departamento conversem entre si em tempo real. Cada mensagem é salva no banco de dados para que possa ser adicionada ao histórico de mensagens. • Implementação do calendário com calendário completo como base, mas totalmente personalizado para as necessidades do supervisor. O supervisor inspeciona os projetos que ele designou para cada funcionário e, dependendo da carga de trabalho, ajusta o cronograma mensal para cada um dos funcionários. Por outro lado, o funcionário só pode ver seu calendário sem poder executar ações. • Gráficos e gráficos com Javacript de baunilha e Ajax personalizados com jQuery para atender aos requisitos. • O telefone celular é confirmado usando o Twillio com uma conta de teste gratuita. O celular é inserido e confirmado no primeiro login de todos os novos usuários. Primeiro, uma API valida que o número de telefone existe e, em seguida, uma mensagem é enviada do Twillio com um código de segurança para prosseguir com a segurança. Para garantir que as obras de confirmação do Twillio sejam gratuitas para entrar em contato com a equipe Pyravlos, para que possamos incluir seu número em nossa conta, causando contas gratuitas apenas textos para números verificados da conta. • A confirmação por e -mail é implementada com a ajuda de métodos incorporados fornecidos pelo ASP.NET que nos permitem enviar um novo email de confirmação a todos os novos funcionários para garantir que seu email esteja confirmado.
Análise de back-end: A Xenocrates é construída com a idéia de um componente principal que recebe dados e serviços de fornecedores independentes. Os controladores não têm acesso ao banco de dados ou puxam o peso de tarefas difíceis. Portanto, todo controlador possui um repositório de dados próprio e também acesso a um serviço que realiza todas as tarefas. Portanto, o repositório de dados para cada controlador também é dividido em diferentes grupos, dependendo do tipo de dados.
A separação de preocupações foi o nosso foco principal enquanto construía Xenócrates, para que pudéssemos ter muitos métodos independentes que construíram um sistema rápido, sustentável e integrado. Métodos que têm responsabilidades únicas para que o código -fonte seja mais fácil de entender e deixar uma janela para testes Xunit em um patch futuro, para que tudo seja mais controlado.
O repositório de classificação e filtering e também um repositório para os Viewbags foi implementado seguindo o padrão de repositório de dados. Tudo o que precisa ser feito para que a regra de "não se repita" e a separação de preocupações seja alcançada.
Esquema de banco de dados:
O banco de dados foi projetado e criado com um foco principal, interaja com entidades da estrutura da entidade o mínimo possível, porque a complexidade da entidade com as chaves que fornece e vincula suas entidades pode ser muito perigosa para a estabilidade do nosso banco de dados. Tentamos normalizar nosso banco de dados o máximo possível, para que tudo pudesse ser manipulado sem causar um tsunami de reações. Na maioria dos casos, conseguimos que, ao dividir nossas entidades em duas entidades principais. O primeiro foi o usuário do aplicativo feito e protegido a partir da estrutura de entidade que representa o perfil on-line de um funcionário e os detalhes pessoais de um funcionário que em nosso banco de dados é reconhecido na tabela de trabalhadores. Tudo, exceto essas duas entidades, pode ser excluído ou editado a qualquer momento, sem nenhum custo.
Problems we faced: We ran into different kinds of small problems: • Datetime manipulation and display • Convert C# Datetimes to Javascript Date • Manipulation of template we used for front end But the problems that troubled us more: • Alpha version of Xenocrates was built around table of Asp.NetUsers and after adding foreign keys and relationships between the Frameworks entities and custom entities made from us the system started to complain because the keys assigned to Asp.Netusers foram expostos. Então, tivemos que começar de novo e encontrar o caminho para o design final do banco de dados. É por isso que a pasta é denominada ManagementSystemversionTwo. • A biblioteca de calendário completa não foi útil para nós, então tivemos que passar alguns dias lendo toda a documentação para entender como manipulá -la para que possa ser funcional. Obrigado! Christos Lagos Iliana Beikou Spyros Tsamis George Chatziadis John Podogorianiotis