Skip to content

achedon12/esgi-symfony

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tindoo Tindoo Logo

Description 🎉

Tindoo est une réinterprétation de l'application Tinder, adaptée pour une utilisation sur desktop. Ce projet vise à recréer les principales fonctionnalités de Tinder tout en mettant l'accent sur le backend via Symfony, et une interface utilisateur basée sur Twig et Bootstrap. 🚀

Lien : http://leoderoin.fr:1081


Fonctionnalités

1. Authentification et gestion des utilisateurs 🔐

  • Inscription avec validation des données utilisateur (email, mot de passe sécurisé, etc.).
  • Envoi d'un email de confirmation de creation de compte pour vérifier son compte
  • Connexion sécurisée avec gestion des sessions.
  • Réinitialisation de mot de passe via email.

2. Gestion des profils 📝

  • Création et personnalisation des profils utilisateurs (photo, bio, centres d'intérêt).
  • Modification des informations personnelles.
  • Téléchargement et gestion des photos de profil.

3. Système de "swipe" 👈👉

  • Affichage de profils en fonction de notre orientation et de notre score
  • Fonctionnalités "Like" et "Dislike" pour exprimer son intérêt ou non (gestion de score).
  • Fonctionnalité "Super Like" pour lancer directement une conversation en mode "non approuvé"

4. Matching et messagerie 💬

  • Création d'un "match" lorsque deux utilisateurs se "like".
  • Système de messagerie simple pour échanger entre utilisateurs.
  • Historique des conversations.
  • Gestion de discussions approuvées et non approuvées pour pouvoir décliner des super likes

5. Recherche suggérée 🔍

  • Route pour trouver un seul profil suggéré selon :
    • Âge.
    • Localisation.
    • Centres d'intérêt.

6. Multilingue 🌐

  • Interface disponible en plusieurs langues (ex. : français, anglais).

7. Gestion des erreurs et administration ⚙️

  • Pages personnalisées pour les erreurs courantes (404, 500, etc.).
  • Interface d'administration pour gérer les utilisateurs et modérer les contenus.
  • Système de logs pour suivre et analyser les erreurs.

8. Gestion de tâches planifiées

  • Cron permettant de supprimer les utilisateurs inactifs après un certain délai.
  • Cron permettant de clear sa session après un certain délai.

9. Gestion de son offre 💳

  • Possibilité de souscrire à un abonnement pour bénéficier de fonctionnalités supplémentaires.
  • Gestion du paiement via Stripe.
  • Envoi d'un email lors de la souscription à un abonnement.

10. Dockerisation 🐳

  • Mise en place d'un environnement de développement avec Docker.
  • Mise en place d'un environnement de production avec Docker.

11. Tests unitaires 🧪

  • Mise en place d'une base de test sqlite (différente de la base initiale) pour exécuter les tests unitaires.
  • Mise en place de tests unitaires pour les entités et les services.

Technologies utilisées 🛠️

  • Backend : Symfony, Docker
  • Frontend : Twig, Bootstrap, NPM, NODEJS
  • Base de données : MySQL (ou autre SGBD compatible avec Doctrine)

Auteurs ✍️

Stripe

Initialiser les variables d'environnement suivantes :

STRIPE_KEY
STRIPE_SECRET

Lancer le projet avec Docker

  ./docker-run.sh

Une fois le projet lancé...

Connecter votre base de données Lancer les fixtures Lancer le serveur symfony Connecter vous avec les identifiants suivants :

compte administrateur : email : [email protected] mot de passe : admin

compte utilisateur : email : [email protected] mot de passe : regular

autres utilisateurs : email : email en base mot de passe : password

Note : L'administrateur peut se rendre sur la page /admin qui lui permet de gérer l'application ou alors aller dans les paramètres de son compte et accéder au dashboard admin via le bouton prévu à cet effet.

About

Projet d'étude orienté Backend

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 3

  •  
  •  
  •