Résumé de Xenocrate Xenocrate est une application conçue pour fournir aux entreprises un système de gestion des employés pour assurer une meilleure organisation. Xenocrate est construit dans ASP.NET MVC avec SQL Server en tant que base de données et jQuery pour les demandes de données asynchrones. Les services de Xenocrate sont divisés en trois catégories principales
Services administratifs: • Des statistiques de l'ensemble de l'entreprise qui le tient au courant de son entreprise. • Voir le nombre des employés dans chaque rôle. • Les opérations CRUD sur tous les travailleurs de son entreprise, naviguent pour trouver tous les détails qu'il veut sur ses employés • Crud Operations sur tous ses départements et voir les détails spécifiques de chaque département • Voir tous les projets actifs mais également terminés dans tous ses départements avec des détails. • Système de paiement intégré avec PayPal qui lui permet de payer rapidement en un clic de bouton. • Historique des paiements analytiques pour chaque employé. Services du superviseur: • Statistiques de son département. • Afficher les détails de chaque travailleur de son département • Opérations CRUD sur des calendriers individuels pour ses employés • Crud Operations sur les projets • Capacité à organiser et à communiquer avec le chat en direct
Services des employés: • Communication avec tout le monde sur son département avec chat en direct • Voir son calendrier pour voir son horaire pour le mois • Voir et finaliser les projets qui lui sont attribués
Détails des services: • PayPal est actuellement intégré en mode sandbox mais a tous les potentiels pour être mis en ligne. Pour le moment, Xenocrate coopère avec le service de paiement de l'API PayPal. Le système de paiement pour Xenocrate est construit afin qu'il puisse protéger l'administrateur de faire une erreur dans les paiements. Une fois qu'un employé est payé, un message apparaît qui lui rappelle que l'administrateur a déjà payé l'employé spécifique et ne lui permet pas de le payer à nouveau pour la durée du mois. Après chaque tentative de paiement, le système détecte le statut de la demande et s'il est positif, il économise le paiement réussi du système et le stocke dans les données personnelles de l'employé afin que l'administrateur puisse avoir une voie complète de ses paiements, sinon le système annonce que c'était un problème avec la transaction. • Le courrier électronique et le téléphone insérés pour chaque employé sont recherchés à l'échelle mondiale pour vérifier s'ils sont valides, donc aucun faux compte n'est enregistré. Les API pour cela incluent Neutronapiphone et Zerobounce1. • Méthode de sécurité qui s'exécute fréquemment pour s'assurer qu'aucune entrée inappropriée n'est enregistrée dans la base de données • Chat en direct avec implémentation sur la technologie SignalR qui permet à chaque employé d'un département de discuter entre eux en temps réel. Chaque message est enregistré sur la base de données afin qu'il puisse être ajouté à l'historique des messages. • Mise en œuvre du calendrier avec calendrier complet comme base mais entièrement personnalisé pour les besoins du superviseur. Le superviseur inspecte les projets qu'il a affectés à chaque employé et en fonction de la charge de travail ajuste le calendrier mensuel pour chacun des employés. D'un autre côté, l'employé ne peut voir son calendrier que sans pouvoir y effectuer des actions. • Chartes et graphiques avec Javacript de vanille personnalisé et appels Ajax avec jQuery pour répondre aux exigences. • Le téléphone mobile est confirmé à l'aide de Twillio avec un compte d'essai gratuit. Le mobile est inséré et confirmé lors de la première connexion de chaque nouvel utilisateur. Une API valide d'abord que le numéro de téléphone existe, puis un message est envoyé à partir de Twillio avec un code de sécurité pour procéder à la sécurité. Pour vous assurer que Twillio Confirmation fonctionne gratuitement pour contacter l'équipe Pyravlos afin que nous puissions inclure votre numéro dans notre compte, causez des comptes de libre-échange uniquement, envoyez des SMS aux numéros vérifiés du compte. • La confirmation par e-mail est mise en œuvre à l'aide de méthodes intégrées fournies par ASP.NET qui nous permet d'envoyer un nouvel e-mail de confirmation à chaque nouvel employé pour être sûr que leur e-mail est confirmé.
Analyse back-end: Xenocrate est construit avec l'idée d'un composant principal qui est fourni des données et des services de fournisseurs indépendants. Les contrôleurs n'ont pas accès à la base de données ni ne tirent le poids des tâches difficiles. Ainsi, chaque contrôleur a un référentiel de données propre et également un accès à un service qui effectue toutes les tâches. Par conséquent, le référentiel de données pour chaque contrôleur est également divisé en différents groupes en fonction du type de données.
La séparation des préoccupations était notre objectif principal tout en construisant des Xenocrates afin que nous puissions avoir beaucoup de méthodes indépendantes qui construisent un système rapide, maintenable et intégré. Méthodes qui ont des responsabilités uniques, donc le code source est plus facile à comprendre et à laisser une fenêtre pour les tests Xunit dans un futur patch afin que tout soit plus contrôlé.
Le référentiel de tri et un référentiel pour les ViewBags a également été implémenté en suivant le modèle de référentiel de données. Tout ce qui doit être fait pour que la règle de «ne vous répétez pas» et la séparation des préoccupations soit réalisée.
Schéma de base de données:
La base de données a été conçue et créée avec un objectif principal, interagir avec les entités du cadre d'entité le moins possible car la complexité de l'entité avec les clés qui fournit et lie ses entités pourrait être très dangereuse pour la stabilité de notre base de données. Nous avons essayé de normaliser notre base de données autant que possible afin que tout puisse être manipulé sans provoquer un tsunami de réactions. Dans la plupart des cas, nous avons réussi à diviser nos entités à deux entités principales. Le premier était l'utilisateur de l'application fabriqué et protégé du travail entité qui représente le profil en ligne d'un employé et les détails personnels d'un employé qui, dans notre base de données, est reconnu dans le tableau des travailleurs. Tout sauf ces deux entités peuvent être supprimées ou modifiées à tout moment sans frais.
Problèmes auxquels nous avons été confrontés: nous avons rencontré différents types de petits problèmes: • Manipulation et affichage de Datetime • Convertir C # DateTimes en JavaScript Date • Manipulation du modèle que nous avons utilisé pour le front-end mais les problèmes qui nous ont plus troublé: • La version alpha de Xenocrate a été construite autour des tableaux ASP.Nettusrs et après l'ajout de touches étrangères et des relations entre les cadres et les entités personnalisées faites à partir de États ASP.NETUSERS a été exposé. Nous avons donc dû recommencer et trouver le chemin vers la conception finale de la base de données. C'est pourquoi le dossier est nommé ManagementsyStemeVersisetwo. • La bibliothèque de calendrier complète ne nous a pas été utile, nous avons donc dû passer quelques jours à lire toute la documentation pour comprendre comment la manipuler afin qu'elle puisse être fonctionnelle. Merci! Christos Lagos Iliana Beikou Spyros Tsamis George Chatziadis John Podogorianiotis