Générateur horaire Uoft
Description
Le générateur horaire Uoft vise à créer le meilleur calendrier universitaire pour tous les étudiants Uoft. Équipé de l'algorithme génétique le plus précis, il peut créer les meilleurs horaires en fonction des préférences de l'utilisateur telles que la définition d'un temps maximum pour la dernière classe, ou avoir la plus petite distance de marche entre les classes.
Le projet Generator Hormeable Uoft est un projet de développement Web complet. Il est composé à partir de plusieurs composants: le scrapper Web, l'infrugture de la base de données SQL, les modèles de données, la bibliothèque de générateurs horaires, l'analyseur d'algorithme génétique, l'API Web C # et une application Web Angular JS frontal.
Table des matières
- Procédure
- Installation
- Usage
- Crédits
- Licence
Procédure pas à pas de ce projet
Ce projet se compose de plusieurs composants, chacun responsable de l'exécution d'une certaine tâche pour obtenir les meilleurs horaires. L'image ci-dessous illustre l'architecture système du projet.
Les utilisateurs utiliseront l'application Web frontale pour générer leurs horaires. Dans la page d'accueil, ils devront d'abord spécifier les cours qu'ils suivront.
La saisie des trois premières lettres du code de cours dans la barre de recherche révélera les cours pertinents et disponibles.
Après avoir sélectionné les cours, cliquez sur le bouton "Générer les horaires". Il appellera ensuite le serveur pour générer les horaires et accéder à la page des horaires. Les horaires générés seront affichés dans des icônes comme l'image ci-dessous.
De plus, les utilisateurs peuvent spécifier des restrictions et des préférences pour adapter leurs horaires à leurs besoins. Il se fait en cliquant sur le bouton Préférences ou restrictions en haut de la page. Le panneau Préférences / restrictions apparaîtra, révélant les options des utilisateurs. L'application de leurs nouvelles restrictions / préférences régénérera leurs horaires.
Les utilisateurs peuvent afficher, imprimer et mettre en signet leurs horaires préférés en cliquant sur l'un des horaires générés.
Installation
Programmes et outils requis:
- MS SQL Server sur une machine (Facultatif: SQL Server Management Studio)
- Visual Studio
Configurer la base de données
- Installez MS SQL Server sur une machine
- Configurez une nouvelle base de données pour stocker les données Uoft
- Ouvrez les propriétés du projet de base de données Uoft dans Visual Studio, modifiez la chaîne de connexion de telle sorte qu'il lie à votre base de données nouvellement créée
- Sélectionnez le paramètre Créer un nouveau base de données dans les paramètres de construction des propriétés du projet de base de données Uoft (afin qu'il crée la structure de la base de données relationnelle dans votre nouvelle base de données).
- Exécutez le projet de base de données Uoft en le définissant en tant que projet de démarrage et en appuyant sur F5.
Configurez le Scrapper Web et obtenez les dernières données Uoft:
- Assurez-vous que le Scrapper du projet avec les derniers packages NuGet:
- Pack d'agilité HTML
- Sélénium webdriver
- Support de sélénium
- Assurez-vous que le conducteur Chrome (Chromedriver.exe) est copié dans le répertoire de sortie, sous le dossier: Sélénium / WEB
- Modifiez la chaîne de connexion du fichier uoft.dbml afin que les mises à jour / suppressions de la base de données soient effectuées dans votre base de données.
- Exécutez-le en sélectionnant le Scrapper du projet de projet comme projet de démarrage et exécutez-le. Remarque: il faut un certain temps pour gratter les données du Web.
Configurer le projet de modèles de données
- Modifiez la chaîne de connexion dans le fichier uoft.dbml en votre base de données.
- Construisez le projet en le définissant comme un projet de démarrage et en appuyant sur F5.
Exécution de l'API Web et de l'application Angular JS sur la machine locale
- Ouvrez l'explorateur Solutions dans Visual Studio.
- Cliquez avec le bouton droit sur la solution et sélectionnez les propriétés .
- Configurez le projet de démarrage afin qu'il exécute à la fois l' API Web et le projet de page Web .
- Enregistrez les modifications.
- Enfin, exécutez les projets en appuyant sur F5. Deux pages Web doivent apparaître: la page Web de l'API Web et la page Web vers l'application frontale.
Usage
Veuillez noter que ce projet est utilisé à des fins éducatifs et n'est pas destiné à être utilisé commercialement. Nous ne sommes pas responsables des dommages / modifications effectués par ce projet.
Crédits
Emilio Kartono, qui a réalisé tout le projet.
Licence
Ce projet est protégé sous la licence GNU. Veuillez vous référer à la licence.txt pour plus d'informations.