Giter Site home page Giter Site logo

tp-igl-back's Introduction

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!

    Recommend Projects

    • React photo React

      A declarative, efficient, and flexible JavaScript library for building user interfaces.

    • Vue.js photo Vue.js

      🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

    • Typescript photo Typescript

      TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

    • TensorFlow photo TensorFlow

      An Open Source Machine Learning Framework for Everyone

    • Django photo Django

      The Web framework for perfectionists with deadlines.

    • D3 photo D3

      Bring data to life with SVG, Canvas and HTML. 📊📈🎉

    Recommend Topics

    • javascript

      JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

    • web

      Some thing interesting about web. New door for the world.

    • server

      A server is a program made to process requests and deliver data to clients.

    • Machine learning

      Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

    • Game

      Some thing interesting about game, make everyone happy.

    Recommend Org

    • Facebook photo Facebook

      We are working to build community through open source technology. NB: members must have two-factor auth.

    • Microsoft photo Microsoft

      Open source projects and samples from Microsoft.

    • Google photo Google

      Google ❤️ Open Source for everyone.

    • D3 photo D3

      Data-Driven Documents codes.