J’ai développé une base pour une application fullstack dont voici les composantes front to back:
- Il y a deux pages: un menu et un formulaire traité par le back.
- J’utilise un framework MVC inspiré de forward.scm basé sur create-react-app.
- le front communique avec le back avec un lien REST “classique”
- Il a possibilité de faire du push over websocket (mais on fait pas usage ici)
- le back est propulsé à l’aide de la bibliothèque asynchrone de Python 3.5+ nommé asyncio aidé du cadre de logiciel aiohttp qui implemente les routines HTTP de haut niveau. Il permet la communication REST et WebSocket et implemente un mecanisme de composition d’application sur le router basé sur les regex à la Django.
- Pour executer des algorithmes en taches de fond, il y a le support de l’ordonnanceur Celery qui lui même utilise le broker RabbitMQ
- PostgreSQL est utilisé pour persisté les données.
- Les taches Celery peuvent accéder à la base de donnée.
C’est une reponse au challenge fullstack.
Il y a d’autres composants aiohttp que l’on peux intégrer facilement tel que aiohttp session et aiohttp redis.