/tp-igl-back

Primary LanguagePython

ISTATE

Une application Web pour la publication et la consultation des annonces immobilières les plus récentes. Les utilisateurs pourront publier leurs propres annonces ainsi que visualiser celles publiées par d’autres utilisateurs ou provenant d’autres sites d’annonces. Cette application sera un moyen pratique pour trouver les dernières annonces immobilières et publier les propres aisément. En fin de compte, elle am´eliorera la communication et la transparence sur le march´e immobilier.

Ce repository contient le code source pour le backend d'une application web développé avec Flask. Il inclut une base de données SQLite, un code de scrapping "scrapper.py" fait avec BeautifulSoup, l'authentification par Google OAuth2 et trois tests unitaires. Le backend est déployé sur Render.

Installation des dépendances

  1. Clonez ce repository sur votre ordinateur
  2. Naviguez à l'intérieur du répertoire cloné
  3. Installer les dépendences necessaires qui se trouvent dans le fichier `requirements.txt`

Base de données

  • La base de données SQLite se trouve dans le dossier `instance` sous le nom de tp.db

  • Vous pouvez utiliser un outil de gestion de base de données SQLite pour interagir avec la base de données

Scrapper

  • Le code de scrapping se trouve dans le fichier `scrapper.py`
  • Il peut être exécuté indépendamment pour effectuer le scrapping

Tests unitaires

  • Les tests unitaires se trouvent dans le dossier `test`
  • Vous pouvez exécuter les tests avec la commande `python -m pytest`

Test fonctionnel

  • Un test fonctionnel est implémenté avec Selinium pour la fonctionnalité "ajouter annonce"
  • Pou exécuter le test installer Python sur votre ordinateur et Selinium avec la commande pip install selenium
  • WebDriver : Selenium utilise un navigateur web pour effectuer les tests. Vous devez donc installer le WebDriver correspondant au navigateur que vous souhaitez utiliser, pour Chrome, suivez les instruction de ce site https://sites.google.com/a/chromium.org/chromedriver/downloads

Développement local

  1. Démarrez le serveur local avec la commande `flask run`, si ça ne marche pas utiliser `export FLASK_APP=flaskr; export FLASK_ENV=development; flask run`
  2. Accédez à l'application à l'adresse convenable sur votre navigateur

Documentation du code

  • La documentation se trouve dans le directoire "Documentation" sous format HTML
  • vous pouvez aussi utiliser pydoc pour démarrer un serveur HTTP localement et visualiser la documentation dans votre navigateur préféré
    il suffit juste d'utiliser la commande python -m pydoc -p {port_number} , et vous pouvez voir la documentation à http://localhost:{port_number}/
  • si vous choisissez 0 comme un numéro de port, un port arbitraire sera utilisé
  • Remarques

    Veuillez n'hésiter à consulter la documentation de Flask, SQLite, BeautifulSoup, Google OAuth2 et Render

    Déploiement

    Le backend est déployé sur https://tp-igl-back.onrender.com/

    Enjoy!