E_apprendre
Projet de développement Web E Learning dans le cadre de l'obtention du diplôme du 6ème semestre BCA à l'Université VNSGU
CARACTÉRISTIQUES :
Site utilisateur
- Exécution de code dans différentes langues
- Appel vidéo utilisateur-2-utilisateur, plusieurs utilisateurs peuvent rejoindre l'appel
- Discussion pour QnA avec votes haut/bas et marquage des questions, réponse aux questions, etc.
- Cours de lecture > Syllabus > Section d'apprentissage
- Lecture d'articles avec like/commentaire et partage sur Whatsapp, Facebook etc.
- tawk.to chat pour l'assistance par chat utilisateur-2-admin 24h/24 et 7j/7
- Générateur d'adresse automatique utilisant l'API de localisation HTML + l'API de géocodage inverse Google pour récupérer l'adresse de l'utilisateur à l'aide du GPS
- Sondage des utilisateurs pour recueillir les commentaires ou les enquêtes des utilisateurs
- Défi utilisateur-2-utilisateur, l'utilisateur se défie pendant 5 séries de questions aléatoires et le gagnant obtient des XP pour gagner qui sont ajoutés à l'XP de l'utilisateur.
- Sur site + Mail (mail html) Notification où l'utilisateur est informé des QnA et des défis
- Profil utilisateur pour afficher des détails tels que les publications QnA, les sondages, les abonnés et les informations de contact. etc.
- ajax pour suivre/ne plus suivre, mise à jour de l'adresse
Site d'administration
- Utilisation intensive de Datatables + Ajax sur chaque page pour lister X enregistrements par page, trier, rechercher, paginer et récupérer des données au format PDF, CSV, Excel et imprimer, copier
- gestion des administrateurs par ajout/mise à jour/blocage/déblocage
- gestion des catégories -> Cours -> Chapitres par ajout/mise à jour/blocage/déblocage
- gestion de la section (tutoriel) et des articles par blocage/déblocage, ajout/mise à jour avec l'éditeur WYSIWYG + insertion instantanée d'images en ajoutant des images à imgur.com à partir de l'éditeur lui-même
- gestion des sondages par ajout/mise à jour/blocage/déblocage avec ajout de N options et définition des dates de début et de fin du sondage
- gestion des questions de défi par ajout/mise à jour/blocage/déblocage avec l'ajout de 4 options
- gestion de l'utilisateur par blocage/déblocage et vue détaillée du profil de l'utilisateur
- gérer QnA en bloquant/débloquant les questions et réponses
- gestion des balises par ajout/mise à jour/blocage/déblocage
- gérer les commentaires des utilisateurs avec l'envoi de mails (mails html) à l'utilisateur en réponse aux commentaires
- Système sur site + mail (mail html) pour commentaires.
Autre
- Utilisation de cURL pour exécuter une requête http dans le backend, par exemple pour appeler une requête API de géocodage inverse de Google sans exposer l'adresse API ou la clé d'authentification aux utilisateurs
- URL optimisées pour le référencement pour un meilleur classement dans les résultats de recherche
- Prévention des attaques XSS en filtrant les entrées utilisateur et prévention de l'injection SQL par validation à tous les points d'entrée.
Portée future
- Masquage de l'exposition des identifiants par des slugs (textes conviviaux), ce qui améliore également le référencement
- ajout d'un système de commentaires sur la section (tutoriel)
- Page Web + mise en cache de base de données pour des chargements de pages plus rapides.
- remplacez l'éditeur WYSIWYG par l'éditeur Markdown.
TechStack
- Serveur - Apache 2.4.29
- Langage back-end - PHP 7.2.1
- Cadre - Cadre Codeigniter 3.1.8 MVC
- Base de données-MySQL
- Frontend-HTML5, Bootstrap3
- Panneau de configuration - XAMPP 7.2.1
- Éditeur - Texte Sublime
Configuration sous Windows
- Installez la version XAMPP requise.
- Ouvrez le php.ini d'Apache et définissez la valeur de
upload_max_filesize sur 4M , enregistrez le fichier, démarrez/redémarrez les serveurs Apache et MySQL. - Ouvrez phpmyadmin, créez une base de données avec un nom comme
e_learn - Une fois la base de données créée, sélectionnez la base de données e_learn dans la liste des bases de données, accédez à l'onglet d'importation et importez le fichier SQL situé dans
/resources/db/db.sql et cliquez sur OK, attendez un certain temps pour que l'importation se termine. - Ouvrez
/application/config/config.php et définissez $config['base_url'] sur la page d'accueil du projet, par exemple défini sur http://localhost/e_learn/ si votre projet se trouve dans le répertoire nommé e_learn et enregistrez le fichier . - Ouvrez
/application/config/database.php et définissez les champs hostname , username , password et database et enregistrez le fichier . - Visitez http://localhost/e_learn et la page de connexion/inscription de l'utilisateur devrait apparaître, essayez de vous connecter en utilisant les informations d'identification de la table
tbluser dans la base de données. - De même, essayez de visiter http://localhost/e_learn/admin et la page de connexion de l'administrateur devrait apparaître, essayez de vous connecter en utilisant les informations d'identification de la table
tbladmin dans la base de données.