Conseils architecture application web (Saas)

Salut la Zone,

Je suis en train de monter un petit projet perso sous la forme d’une plateforme SaaS qui permet d’automatiser la prise de RDV entre personnes d’une même équipe / entreprise.
L’idée est que les personnes doivent s’inscrire (via Oauth Google ou MS), donner accès à leur calendrier Google / Office 365, mon système se charge de faire des matchings entre personnes et envoie des invitations directement dans le calendriers de chacun.
Je dois gérer des organisations différentes (chaque utilisateur appartient à une seule organisation, et ne peux faire des RDV qu’avec les autres utilisateurs de son organisation), des niveaux d’utilisateurs différents (par exemple un user « gestionnaire » pourrait voir toutes les équipes de sa boite, un user « user » ne pourrait voir que les équipes auxquelles il appartient)

J’ai essayé de structurer un maximum ma démarche, en rédigeant des specification métier, en faisant des maquettes avec Figma et 2-3 bricolages avec vue.js pour me faire la main, et je vais maintenant me lancer dans le dev d’un prototype à proprement parler.

J’en arrive au moment ou je dois faire des choix de technos et d’archi du bouzin, pour le moment j’en suis la (mon schéma de BDD est prêt aussi, il ne pose pas vraiment de question) :


+---------------------------------+
| Front web (vue.js ?)            |
+----------+---^------------------+
           |   |
+----------v---+------------------+    +--------------------------+
| Login + recup infos             |    |                          |
| Oauth Google et MS              |    |                          |
+----------+---^------------------+    | Du code pour faire des   |
           |   |                       | trucs avec la data       |
+----------v---+------------------+    |                          |
| Controle d'accès (Role-Based)   |    |                          |
+----------+---^------------------+    +--------+---^-------------+
           |   |                                |   |
           |   |                                |   |
+----------v---+--------------------------------v---+-------------+
|                                                                 |
|  API (Get, Post, Update, Delete) sur différents objets métiers  |
|                                                                 |
+----------+---^--------------------------------------------------+
           |   |
           v   |
         xxxxxxxxx
       xx         xx
       | xxxxxxxxx |
       |           |
       | BDD (SQL) |
       |           |
       xx         xx
         xxxxxxxxx

(c’est beau n’est-ce pas ?)

Mes questions maintenant :

  • J’ai vu pas mal de choses pour gérer des API, plus ou moins complexes, et qui intègrent ou non en natif la gestion des connections vers GG et MS365, je pense à Laravel, FastAPI ou encore ExpressJS, que recommanderiez-vous à un débutant ?
  • Si la brique pour gérer les API ne le fait pas tout seul, des conseils pour une brique de gestion des autorisations ?
  • J’ai commencé à spécifier les API avec Apicurio Studio (format OpenAPI), mais étant donné que certains framework (fastAPI par ex) produisent les spécs directement, est-ce utile ? J’ai vu des outils sensés produire du code server à partir de specs OpenAPI, est-ce réellement utile dans mon cas ?
    (ma vie : je ne suis pas un dev, je bricole avec php, python et js, je pense être aussi mauvais avec chacun de ces langages, par contre je maitrise bien SQL et la modélisation de BDD)

Et si plus largement vous avez des conseils sur ce type de projets, je suis tout ouie !
Merci pour vos conseils !

Ce sujet a été automatiquement fermé après 730 jours. Aucune réponse n’est permise dorénavant.