Yet Another Digital Asset Management
Un DAM, ou gestionnaire de ressource numériques, est un outil permettant de gérer différents types de contenu (image, vidéos, musiques, ...). Le but du projet est d'en réaliser un sous forme d'application web, open source, et à l'aide de technologies innovantes.
Le projet s'appuuie sur une architecture backend API + frontend.
Le backend s'appuiera sur une API réalisé à l'aide de PostgREST, et exploitera les données d'une base de données PostgreSQL. Les traitements métiers spécifiques seront réalisés en JavaScript via PLV8.
Idées de fonctionnalités à implémenter :
- Gestion des rôles / droits
- JWT
- ...
Le frontend utilisera le framework JavaScript ReactJS, afin de réaliser une SPA (Single Page Application).
Idées de fonctionnalitées à implémenter :
- 2FA
- SSR
- ...
Pour réaliser ce projet, nous utiliserons des containers Docker, afin que chaque développeur dispose du même environnement pour développer, quelque soit l'OS qu'il affectionne. Nous disposerons de 2 serveurs sous CentOS, pour posséder un environnement de test, et un environnement de production. Le projet possédera une intégration continue à l'aide d'un Jenkins installé sur un troisième serveur.
GitHub sera utilisé comme gestionnaire de versions. Les principes de GitFlow seront mis en place pour améliorer la clareté du dépôt.