Gaming Universe Forum est une application web de discussion où les utilisateurs peuvent créer des comptes, publier des messages, commenter des publications, liker des messages et interagir avec d'autres utilisateurs.
- Fonctionnalités
- Technologies Utilisées
- Installation
- Configuration
- Utilisation du Makefile
- Démarrage
- Structure du Projet
- Dépendances
- Contribuer
- Inscription : Les utilisateurs peuvent créer un compte en fournissant un nom d'utilisateur, un email et un mot de passe.
- Connexion : Les utilisateurs peuvent se connecter à leur compte.
- Déconnexion : Les utilisateurs peuvent se déconnecter de leur compte.
- Créer un post : Les utilisateurs connectés peuvent créer un post.
- Modifier un post : Les utilisateurs peuvent modifier leurs propres posts.
- Supprimer un post : Les utilisateurs peuvent supprimer leurs propres posts.
- Voir un post : Les utilisateurs peuvent voir les détails d'un post.
- Liker un post : Les utilisateurs peuvent liker un post.
- Ajouter un commentaire : Les utilisateurs connectés peuvent commenter un post.
- Voir les commentaires : Les utilisateurs peuvent voir tous les commentaires d'un post.
- Liker un commentaire : Les utilisateurs peuvent liker un commentaire.
- Voir le profil : Les utilisateurs peuvent voir leur propre profil et celui des autres.
- Modifier le profil : Les utilisateurs peuvent modifier leur propre profil.
- Suivre un utilisateur : Les utilisateurs peuvent suivre d'autres utilisateurs.
- Se désabonner d'un utilisateur : Les utilisateurs peuvent se désabonner d'autres utilisateurs.
- Voir les abonnés : Les utilisateurs peuvent voir la liste de leurs abonnés.
- Voir les abonnements : Les utilisateurs peuvent voir la liste des utilisateurs qu'ils suivent.
- Mot de passe oublié : Les utilisateurs peuvent réinitialiser leur mot de passe en répondant à des questions de sécurité.
- Backend : Go (Golang) avec les bibliothèques Gorilla Mux et GORM.
- Frontend : HTML, CSS, JavaScript.
- Base de Données : SQLite.
-
Assurez-vous d'avoir Go installé sur votre machine.
-
Clonez ce repository :
git clone https://github.com/votre-utilisateur/forum.git
-
Accédez au répertoire du projet :
cd forum -
Installez les dépendances :
go mod tidy
-
Installez TDM-GCC-64. Vous pouvez le télécharger ici.
-
Téléchargement et installation :
- Téléchargez l'installeur depuis ce lien.
- Choissez l'installeur
tdm64-gcc-10.3.0-2.exe. - Exécutez l'installeur et suivez les instructions pour installer TDM-GCC-64 sur votre système.
-
Configuration de l'environnement :
- Après l'installation, ajoutez le répertoire
binde TDM-GCC-64 à votre variable d'environnementPATH. Cela permet à votre système de trouver les exécutables nécessaires. - Pour ce faire, suivez ces étapes :
- Ouvrez les "Paramètres système avancés" sur Windows.
- Cliquez sur "Variables d'environnement".
- Dans la section "Variables système", trouvez la variable
Pathet cliquez sur "Modifier". - Ajoutez le chemin du répertoire
binde TDM-GCC-64 (par exemple,C:\TDM-GCC-64\bin). - Cliquez sur "OK" pour enregistrer les modifications.
- Après l'installation, ajoutez le répertoire
Le fichier main.go contient la configuration principale de l'application, y compris la configuration de la base de données et la configuration des routes.
Le projet inclut un Makefile pour simplifier les tâches courantes telles que la compilation, l'exécution et le nettoyage. Assurez-vous d'être à la racine du projet pour exécuter les commandes make.
Voici les cibles disponibles dans le Makefile :
Cette cible compile le projet et génère un fichier exécutable.
Commande :
make buildCe que cela fait :
- Exécute la commande
go build -o forumpour compiler le projet et générer un fichier exécutable nomméforum.
Cette cible compile le projet (si ce n'est pas déjà fait) et exécute l'application.
Commande :
make runCe que cela fait :
- Exécute la commande
go run main.gopour démarrer l'application.
Cette cible supprime les fichiers générés (notamment l'exécutable).
Commande :
make cleanCe que cela fait :
- Supprime le fichier exécutable généré
forumet tout autre fichier temporaire.
Exemple d'utilisation :
make build
make run
make cleanCompilez et lancez l'application en utilisant le Makefile :
make build
make runOuvrez votre navigateur et accédez à http://localhost:8080.
- main.go : Point d'entrée principal de l'application.
- data : Contient la base de données du forum.
- ressources : Contient les fichiers statiques et les modèles HTML.
- static : Contient les fichiers CSS, JavaScript, images et téléchargements.
- templates : Contient les fichiers HTML pour le rendu côté client.
- src : Contient le code source de l'application.
- common : Contient les fichiers de configuration et les fonctions utilitaires.
- handlers : Contient les gestionnaires pour les différentes fonctionnalités.
- auth : Gestionnaires pour l'authentification.
- general : Gestionnaires pour les fonctionnalités générales.
- post : Gestionnaires pour les posts.
- profile : Gestionnaires pour les profils utilisateurs.
- models : Contient les définitions des modèles de données.
- forum.exe : Fichier exécutable de l'application.
- go.mod : Fichier de configuration des modules Go.
- go.sum : Fichier de dépendances des modules Go.
- Makefile : Fichier pour l'automatisation des tâches.
- README.md : Documentation du projet.
Les principales dépendances du projet sont listées dans le fichier go.mod :
- Gorilla Mux : Routeur HTTP pour Go.
- Gorilla Sessions : Gestion des sessions pour Go.
- GORM : ORM pour Go.
- SQLite Driver for GORM : Driver SQLite pour GORM.
Les contributions sont les bienvenues ! Veuillez soumettre des pull requests pour toutes les améliorations ou corrections de bugs.
Pour toute question ou assistance, veuillez ouvrir une issue sur le dépôt GitHub.
Merci d'utiliser Gaming Universe Forum !