{"id":18478042,"url":"https://github.com/socialgouv/mda","last_synced_at":"2025-04-08T15:31:54.839Z","repository":{"id":65506563,"uuid":"538879455","full_name":"SocialGouv/mda","owner":"SocialGouv","description":"Aider les personnes concernées par l'autisme à trouver leurs réponses et à mener à bien leurs démarches.","archived":true,"fork":false,"pushed_at":"2024-06-16T23:38:33.000Z","size":25835,"stargazers_count":5,"open_issues_count":18,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-02T19:33:28.208Z","etag":null,"topics":["monorepo","nextjs","server-components","strapi","turborepo","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SocialGouv.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-20T08:15:55.000Z","updated_at":"2024-07-04T12:46:14.000Z","dependencies_parsed_at":"2023-02-19T03:25:14.109Z","dependency_job_id":"93626c0c-cd6c-4066-a0a9-c307b82a7ac5","html_url":"https://github.com/SocialGouv/mda","commit_stats":null,"previous_names":[],"tags_count":62,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SocialGouv%2Fmda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SocialGouv%2Fmda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SocialGouv%2Fmda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SocialGouv%2Fmda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SocialGouv","download_url":"https://codeload.github.com/SocialGouv/mda/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247871282,"owners_count":21010015,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["monorepo","nextjs","server-components","strapi","turborepo","typescript"],"created_at":"2024-11-06T12:08:42.088Z","updated_at":"2025-04-08T15:31:49.830Z","avatar_url":"https://github.com/SocialGouv.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Maison Numérique de l'autisme\n\nCe projet a pour but d'aider les personnes concernées par l'autisme à trouver leurs réponses et à mener à bien leurs démarches.\n\nAccessible sur https://maisondelautisme.gouv.fr/.\n\nCe dépôt est un monorepo créé pour faciliter le déploiement sur l'infrastructure de la [Fabrique numérique des ministères sociaux](https://fabrique.social.gouv.fr).\n\n## Brève description\n\nMda est composé de deux applications :\n\n- Un CMS strapi.\n- Un serveur front en nextjs.\n\nLes données sont stockées dans une base de données postgresql. La recherche utilise [meilisearch](https://www.meilisearch.com/).\n\n## Structure et projets\n\n### eslint-confing\n\nLa config eslint du monorepo. Ce projet est une dépendance de développement. Il n'est pas déployé.\n\n### strapi\n\nCe projet utilise [`strapi`](https://strapi.io/) pour fournir une API pour le front et une interface administrateur de gestion de contenu.\n\nPlus d'information dans le [`README.md`](./apps/strapi/README.md) du projet.\n\n### strapi-plugin-mda\n\nUne extension pour l'interface administrateur de strapi. Elle contient le nécessaire pour gérer les parcours de diagnostic. Ce projet est déployé avec strapi.\n\nPlus d'information dans le [`README.md`](./packages/strapi-plugin-mda/README.md) du projet.\n\n### strapi-types\n\nCe projet est généré par le modèle de données strapi et contient également des types contrat entre le CMS et le frontend.\n\nPlus d'information dans le [`README.md`](./apps/strapi/README.md) de strapi.\n\n### web\n\nCe projet utilise [`next.js`](https://nextjs.org/) pour servir le site web principal.\n\nPlus d'information dans le [`README.md`](./apps/web/README.md) du projet.\n\n### shema simplifié d'architecture\n\n```mermaid\nflowchart TD\n    subgraph internet[Internet]\n        user[Utilisateur]\n        admin[Administrateur]\n    end\n\n    subgraph Azure\n        subgraph PostgreSQL\n            db[(Base de données Strapi)]\n        end\n\n        subgraph kube[Kubernetes]\n            subgraph servicesFrontEnd[Ingress]\n                strapiCMS[CMS Strapi]\n                frontend([Site web])\n                strapiAdmin([Site Admin Strapi])\n                mailer[\"maildev\u003cbr\u003etipimail (prod)\"]\n            end\n\n            meilisearch{{Moteur de recherche Meilisearch}}\n        end\n\n        subgraph share[Share]\n            shareStrapi[Uploads Strapi]\n            shareMeilisearch[\"Indexes Meilisearch \u003c/br\u003e(to remove for a shared volume)\"]\n        end\n    end\n\n    strapiCMS\u003c--\u003e|cache|frontend\n    strapiCMS\u003c--\u003e|contenu|strapiAdmin\n    shareStrapi\u003c--\u003e|\"Librairie média (images, vidéos)\"|strapiCMS\n    meilisearch\u003c--\u003e|Synchro indexes de recherche + recherche|strapiCMS\n    shareMeilisearch\u003c--\u003e|Indexes|meilisearch\n    strapiCMS--\u003e|Stockage|db\n    frontend--\u003e|Envoi d'email|mailer\n    user--\u003e|Consulte|frontend\n    admin--\u003e|Gère|strapiAdmin\n    mailer--\u003e|Feedback|admin\n```\n\n## Prérequis\n\nLe projet ayant besoin d'une base de donnée locale pour fonctionner, il est requis d'avoir `docker` et `docker-compose` d'installé.\n\n## Node\nLe projet est en node version 18 minimum. Un fichier `.nvmrc` est disponible :\n\n```sh\nnvm use\n```\n\nVous devez aussi installer `yarn`.\n\n## Installation des dépendances\n\n```sh\nyarn\n```\n\n## Lancer\n\nVous pouvez lancer toutes les applications à l'aide du fichier [`docker-compose.yml`](./docker-compose.yml) mais pour développer, il est plus pratique de lancer les applications une à une.\n\n### Lancer les services nécessaires\n\nPour lancer les services docker, vous pouvez utiliser la commande\n\n```sh\nyarn up\n```\n\nCela lancera la db + l'admin db et meilisearch.\n\n### Lancer strapi\n\nPour builder strapi, il faut d'abord builder le plugin. Plus d'information dans le [README.md](./apps/strapi/README.md#lancer) de strapi.\n\n### Lancer strapi en local\n\nPlus d'information dans le [README.md](./apps/strapi/README.md#lancer) de strapi.\n\n### Lancer le front en local\n\nPlus d'information dans le [README.md](./apps/web/README.md#lancer) du projet.\n\n### URLs\n- Strapi =\u003e `http://localhost:1337/admin`\n- Web =\u003e `http://localhost:3000`\n- PgAdmin (pour voir la db) =\u003e `http://localhost:5050`\n\n### Arrêter les services en local\n\nLes commandes des projets s'arrêtent avec `Ctrl+C`. Pour arrêter les services docker, vous pouvez utiliser\n\n```sh\nyarn stop\n```\n\nou\n\n```sh\nyarn down\n```\n\nLe volume base de données sera conservé. Si vous souhaitez le supprimer, veuillez le faire manuellement avec `docker volume`.\n\n### Tout lancer depuis la racine\n\nSi vous voulez tout lancer en une commande, vous pouvez utiliser\n\n```sh\nyarn dev\n```\n\nMais nous vous recommandons de vous assurer que tout fonctionne bien unitairement.\n\n## Valider le code (lint)\n\nSoit lancer la commande à la racine, soit dans le dossier de chaque application :\n\n```sh\nyarn lint\n```\n\n## Tester\n\nIl n'y pas encore de tests en place.\n\n## Licence\n\nApache 2.0 - Direction du numérique des ministère sociaux.\n\nVoir [LICENSE](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsocialgouv%2Fmda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsocialgouv%2Fmda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsocialgouv%2Fmda/lists"}