Introduction

Mois de février signifie pour plusieurs le début de la fastidieuse recherche d’appartement en vu de signer un bail pour juillet. On ne vous cachera pas qu’il est de plus en plus difficile de trouver logement abordable à Montréal (voir impossible). Si vous êtes comme moi, vous commencez peut-être tranquillement à rêver au jour où vous allez être votre propre propriétaire. Fini les appartements trop chers et les colocataires! Le rêve… Plutôt facile de retomber sur Terre en regardant des statistiques comme celle-ci…

Marchés immobiliers à Montréal en 2021:

  • Maisons unifamiliales: +24.7%
  • Copropriétés: +18.3%

Est-ce que ça vaut la peine d’être propriétaire? Est-ce que c’est rendu trop cher? La plateforme « Achat ou location » ne va pas créer de logement abordable. En revanche, elle peut peut-être t’aider à prendre une décision éclairée quand sera venu le temps de mettre tes premières paies d’ingénieur vers une mise de fond!

Comment ça fonctionne

La plateforme web « Achat ou location » te permet de comparer deux scénarios :

  • Devenir propriétaire (maisons unifamilliales, plex ou condo)
  • Rester (ou devenir) locataire

Tous les paramètres nécessaires pour une simulation réaliste sont intégrés dans les calculs d’accumulation de capital. Eh oui, c’est moins amusement lorsqu’il faut se demander combien seront les taxes foncières du condo qui m’intéresse, ou combien je devrais prévoir la revente de mon duplex, mais c’est ce qui va t’aider à sortir du monde de licorne et de papillons pour prendre une décision éclairée. Également, tu peux te créer un profil pour enregistrer tes scénarios pour y revenir plus tard.

Comment le projet est conçu

Plutôt simple comme application:

  • Frontend avec Angular
  • Serverless avec Firebase (utilisant la librairie AngularFire pour les communications avec le backend)
  • Cloud Firestore comme base de données
  • Déployée sur Firebase Hosting
  • Firebase Authentification comme fournisseur d’identité (Google SignIn intégré à l’app)
  • Les fameux calculs du cours « mécanique de l’ingénieur » que nous avons tous tant aimés à Polytechnique ## Les défis rencontrés CSS
    CSS
    CSS

J’ai aussi passé beaucoup de temps à expérimenter avec le « server side rendering », NestJS et Angular Universal en espérant réussir à déployer le tout sur Cloud Build pour finalement abandonner après plusieurs heures à me battre avec des fichiers de configurations.

Les réussites dont nous sommes fiers

Je suis fièr de l’expérience utilisateur qu’offre « Achat ou location » considérant le peu de temps disponible pour son développement. Je pense que cette application pourrait réellement être utile à beaucoup de personnes en quête d’un nouvel appartement, condo ou plex. Personnellement je vais l’utiliser, ça fait donc au moins une personne!

Apprentissages

  • Expérimentation avec Firebase (vraiment impressionné par la facilité d’utilisation et la rapidité qu’offre ce service pour mettre en place un prototype robuste)
  • Expérimentation avec la librairie « ngx-charts » pour la visualisation de données sous Angular (je recommande fortement à tous les data nerds)
  • Faire de la gestion d’input, ce n’est jamais amusant. Ce l’est encore moins avec 25 inputs.

Les prochaines étapes

  • Achat d’un nom de domaine
  • Ajout de métrique supplémentaires pour comparer les deux scénarios
  • Possibilité de partager un scénario avec un lien
  • Ajout de tooltips pour faciliter la compréhension des différents inputs
  • Remplissage automatique d’une partie des inputs avec l’url d’une propriété listée sur Centris (un peu de webscrapping et le tour est joué)
  • Deuxième prise pour setup SSR (meilleure performance et plus facile pour gérer le SEO)
  • Collecte des scénarios des utilisateurs pour en ressortir des tendances intéressantes?
  • Wrapper le tout pour mobile en PWA
  • Refactor du code spaghetti écrit après trop de café et pas assez de sommeil

Introduction

February means for many the beginning of the tedious search for an apartment to sign a lease for July. We won't hide the fact that it is more and more difficult to find affordable housing in Montreal (if not impossible). If you're like me, you may be starting to dream of the day when you'll be your own landlord. No more expensive apartments or roommates! The dream... It's pretty easy to fall back to earth when looking at statistics like this...

Montreal's real estate market in 2021:

  • Single family home: +24.7%
  • Appartments: +18.3%

Is it worth it to be a landlord? Is it too expensive? The "Buy or Rent" platform is not going to create affordable housing. But it can help you make an informed decision when it's time to put your first engineering paycheck towards a down payment!

How it works

The "Buy or Rent" web platform allows you to compare two scenarios:

  • Becoming a homeowner (single-family homes, plex or condo)
  • Staying (or becoming) a tenant All the parameters necessary for a realistic simulation are integrated in the capital accumulation calculations. Yes, it's not as much fun when you have to ask yourself how much the property taxes will be for the condo you are interested in, or how much you should plan for the resale of your duplex, but it's what will help you get out of the world of unicorns and butterflies to make an informed decision. Also, you can create a profile to save your scenarios to come back to later. ## How is the project designed Pretty simple application:
  • Frontend with Angular
  • Serverless with Firebase (using the AngularFire library for communication with the backend)
  • Cloud Firestore as database
  • Firebase Authentication as identity provider (Google SignIn integrated in the app)
  • Deployed on Firebase Hosting
  • The famous calculations from the "engineering economics" course that we all loved so much here at Polytechnique ## Challenges encountered CSS
    CSS
    CSS

I also spent a lot of time experimenting with server side rendering, NestJS and Angular Universal, hoping to be able to deploy it all on Cloud Build, only to give up after several hours of struggling with configuration files.

Successes we are proud of

I'm proud of the user experience that "Buy or Rent" offers considering the limited time available for its development. I think this application could really be useful to many people looking for a new apartment, condo or plex. Personally, I'm going to use it, so that's at least one person!

What we learned

  • Experimentation with Firebase (really impressed by the ease of use and the speed of this service to build a robust prototype)
  • Experimentation with the "ngx-charts" library for data visualization with Angular (I highly recommend it to all data nerds)
  • Doing input management is never fun. It's even less fun with 25 inputs.

Next steps

  • Purchase of a domain name
  • Adding additional metrics to compare the two scenarios
  • Possibility to share a scenario with a link
  • Automatically populate part of the inputs with the url of a property listed on Centris (a little webscrapping and that's it)
  • Second try for SSR setup (better performance and easier to manage SEO)
  • Collect user scenarios to get interesting trends?
  • Wrapping everything for mobile in a PWA
  • Refactor spaghetti code written after too much coffee and not enough sleep

Built With

Share this project:

Updates