{"id":15462283,"url":"https://github.com/thomasbnt/dw_p7_groupomania_backend_oc","last_synced_at":"2026-05-06T11:31:18.248Z","repository":{"id":95416079,"uuid":"528497511","full_name":"thomasbnt/DW_P7_Groupomania_backend_OC","owner":"thomasbnt","description":"Projet n°7 OpenClassrooms Développeur Web. — Partie Backend.","archived":false,"fork":false,"pushed_at":"2022-10-18T17:05:20.000Z","size":3053,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-26T09:08:04.686Z","etag":null,"topics":["api","backend","express","expressjs","groupomania","hacktoberfest","nodejs","openclassrooms","p7","prisma","web"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thomasbnt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-24T16:05:44.000Z","updated_at":"2025-02-23T19:53:35.000Z","dependencies_parsed_at":"2023-03-13T16:49:48.556Z","dependency_job_id":null,"html_url":"https://github.com/thomasbnt/DW_P7_Groupomania_backend_OC","commit_stats":{"total_commits":141,"total_committers":3,"mean_commits":47.0,"dds":"0.14184397163120566","last_synced_commit":"1e645aedbe749971e15ce741f3ad4492ae322c3e"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/thomasbnt/DW_P7_Groupomania_backend_OC","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasbnt%2FDW_P7_Groupomania_backend_OC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasbnt%2FDW_P7_Groupomania_backend_OC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasbnt%2FDW_P7_Groupomania_backend_OC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasbnt%2FDW_P7_Groupomania_backend_OC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thomasbnt","download_url":"https://codeload.github.com/thomasbnt/DW_P7_Groupomania_backend_OC/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasbnt%2FDW_P7_Groupomania_backend_OC/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32691644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T08:33:17.875Z","status":"ssl_error","status_checked_at":"2026-05-06T08:33:17.221Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["api","backend","express","expressjs","groupomania","hacktoberfest","nodejs","openclassrooms","p7","prisma","web"],"created_at":"2024-10-02T00:01:19.816Z","updated_at":"2026-05-06T11:31:18.231Z","avatar_url":"https://github.com/thomasbnt.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Fait avec MariaDB](https://img.shields.io/badge/Fait%20avec%20MariaDB-%2300f.svg?\u0026color=800\u0026style=for-the-badge\u0026logo=mongodb\u0026logoColor=white)\n[![Propulsé par Prisma](https://img.shields.io/badge/Propulsé%20par%20Prisma-%234752C4.svg?\u0026style=for-the-badge\u0026color=0B354B\u0026logo=prisma\u0026logoColor=white\u0026alt=Prisma)](https://www.prisma.io/)\n[![Réalisé avec ExpressJS](https://img.shields.io/badge/Réalisé%20avec%20Express-white.svg?\u0026style=for-the-badge\u0026color=259DFF\u0026logo=express\u0026logoColor=white\u0026alt=express)](https://github.com/expressjs/express)\n[![Codacy Badge](https://img.shields.io/codacy/grade/760b3a894bef4bf0bb4a72b4598c0455?style=for-the-badge)](https://www.codacy.com/gh/thomasbnt/DW_P7_Groupomania_backend_OC/dashboard)\n[![Wakatime](https://wakatime.com/badge/github/thomasbnt/DW_P7_Groupomania_backend_OC.svg?style=for-the-badge)](https://wakatime.com/badge/github/thomasbnt/DW_P7_Groupomania_backend_OC)\n\n![Groupomania logo](groupomania.svg)\n\n\u003e Projet n°7 OpenClassrooms Développeur Web. — 24 août 2022.\n\n## Introduction\n\nCette partie est spécialement pour le **backend** du projet. Il est sous **ExpressJS** côté serveur, et sous **MariaDB** côté base de données.\nPour le choix de l'ORM, **Prisma** a été choisi.\n\n\u003e **Note**\n\u003e\n\u003e Si vous souhaitez voir la page **frontend**, veuillez [vous rendre sur ce dépôt GitHub](https://github.com/thomasbnt/DW_P7_Groupomania_frontend_OC).\n\u003e\n\u003e [![Partie Backend](https://img.shields.io/badge/Aller%20voir%20la%20partie%20Frontend%20→-informational?style=for-the-badge)](https://github.com/thomasbnt/DW_P7_Groupomania_frontend_OC)\n\n## Installation\n\nPour pouvoir exécuter ce projet, veuillez suivre ces étapes.\n\n1. Installez **NodeJS** (\u003e= 16.10) et **npm**.\n2. Installez les dépendances nécessaires.\n3. Copiez le fichier [.env.example](/.env.example) en `.env` et remplacez les valeurs par vos propres.\n4. N'oubliez pas d'avoir un accès à votre base de données MariaDB\n5. Exécutez le script backend, à coup de `npm run serve`. _Port 3000_\n6. Vous pouvez maintenant accéder à l'API.\n7. Pour la tester, allez sur [localhost:3000/status](http://localhost:3000/status) devrait vous renvoyer un message de succès.\n\n## Configuration du `.env`\n\nExemple de `.env` :\n\n```dotenv\nFRONTEND_URL=http://localhost:5000\nDATABASE_URL=mysql://USER:MDP@IP:3306/BDD\n```\n\n\u003e **Note** \u003e `FRONTEND_URL` est le domaine de votre site, ici utilisé pour des raisons de sécurité (cors), nous délimitons les calls API que depuis ce domaine.\n\n## Prisma\n\nGénération des fichiers Prisma :\n\n```bash\nnpx prisma generate\n```\n\nPour la gestion de la base de données, nous utilisons **Prisma**. Pour plus d'informations, veuillez vous rendre sur [la documentation de Prisma](https://www.prisma.io/docs/).\n\nSynchronisez le modèle de données `src/db/schema.prisma` avec la base de données :\n\n```bash\nnpx prisma db push\n```\n\nInitialisation de la base de données avec des valeurs par défaut :\n\n_Pour avoir le compte Admin_\n\n\n```bash\nnpx prisma db seed\n```\n\nEmail : **admin@ndd.local**\nMot de passe : **password**\n\n\n## Développement\n\n- Projet réalisé avec **IntelliJ**.\n- Testé avec **Insomnia**\n- Documentation format **OpenAI**\n\n[![Run in Insomnia}](https://insomnia.rest/images/run.svg)](https://insomnia.rest/run/?label=DW%20P7%20Groupomania%20API\u0026uri=https%3A%2F%2Fraw.githubusercontent.com%2Fthomasbnt%2FDW_P7_Groupomania_backend_OC%2Fmain%2Fswagger.yaml)\n\n\n## Contributions\n\nLes contributions sont toujours les bienvenues ! Lisez les règles pour les contributions avant de pouvoir y participer.\n\nVeuillez vous assurer que votre demande de pull request respecte les lignes directrices suivantes :\n\n- Rechercher des suggestions précédentes avant d'en faire une nouvelle, afin d'éviter les doublons.\n- Les fichiers README suggérés devraient être beau ou se démarquer d'une manière ou d'une autre.\n- Faire une demande de pull request individuelle pour chaque suggestion.\n- De nouvelles catégories ou des améliorations à la catégorisation existante sont les bienvenues.\n- Gardez les descriptions courtes et simples, mais descriptives.\n- Commencez la description avec une capitale et terminez par un arrêt/période complet.\n- Vérifiez votre orthographe et votre grammaire.\n- Assurez-vous que votre éditeur de texte est configuré pour supprimer les espaces de fin.\n\nMerci pour vos suggestions !\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomasbnt%2Fdw_p7_groupomania_backend_oc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthomasbnt%2Fdw_p7_groupomania_backend_oc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomasbnt%2Fdw_p7_groupomania_backend_oc/lists"}