Clone de Stack Overflow où j'ai implémenté la quasi-totalité de ses fonctionnalités. Mon intention était de fournir aux développeurs un aperçu et une démonstration du fonctionnement interne de Stack Overflow, y compris la manière dont les tâches sont effectuées en coulisses et la manière dont les requêtes sont exécutées.
Remarque : veuillez consulter le blog expliquant ce que j'ai appris de ce projet ?

Voici une démo en direct fonctionnelle : Démo (supprimée de Heroku en raison de l'utilisation du LOGO de production de So )
Python 3.7.x
Django Web Framework 3.2.x
Redis 5.x
BootStrap4
Jquery 3
Postgresql 14
Plus de 50 badges sont mis en œuvre pour récompenser
20 privilèges à gagner
Insignes de piste
Récompense de réputation
Notifications de privilèges et d'activités
Aperçu de MarkDown de questions-réponses en direct
Utilisateur @mentionnant dans les commentaires
Créer et attribuer des primes
Threading pour garder une trace des jours restants de Bounty.
Tâches de révision :
Examen de la première question
Examen de la première réponse
Examen des réponses tardives
Examiner les messages de signalement
Commentaires sur les indicateurs de révision
Examiner les votes de clôture
Examiner les votes de réouverture
Examiner les publications de mauvaise qualité
Examiner les modifications suggérées
Et bien plus encore. Vous pouvez trouver la liste de toutes les fonctionnalités ici
Cloner ce référentiel
Clonez ce projet en utilisant
$ git clone https://github.com/Yawan-1/StackOverFlow--Clone
Pour une utilisation de Postgresql*, vous devrez le télécharger et l'installer.
Téléchargez Postgresql à partir de ce lien
Après l'installation, créez la base de données dans le shell postgresql à l'aide de ces commandes
CREATE DATABASE so_clone;
CREATE USER so_clone_user WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE so_clone TO so_clone_user;
et remplissez le nom de la base de données , le mot de passe de la base de données et l'utilisateur dans settings.py comme
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'so_clone',
'USER': 'so_clone_user',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': '',
}
}*Remarque : si vous configurez ce projet à l'aide de SQLite, vous avez la possibilité de contourner l'étape d'installation de postgresql. Pour ce faire, pensez à commenter la configuration postgresql et à décommenter la configuration sqlite.
Exécutez maintenant la commande make migrations , l'exécution de la commande make migrations effectuera des migrations de données pour enregistrer les "Badges" dans la base de données. puis migrez pour charger les opérations de migrations de données dans la base de données.
$ python manage.py makemigrations $ python manage.py migrate
Les opérations de migration seront automatiquement créées lors de la création de la migration pour enregistrer les balises et les badges de balise.
Ensuite, exécutez simplement le serveur à l’aide de cette commande.
$ python manage.py runserver
Les détails et étapes suivants sur la façon de déployer cette application
Voir le déploiement détaillé de l'application Django sur Heroku
Si vous avez des questions ou des problèmes, il se peut qu'il y ait des bugs que j'ai peut-être manqués. Vous pouvez créer une Pull request.
Remarque : le frontend et la conception complète se trouvent également dans le dépôt de ce projet (html, css).