From 68586a7ade0ed459dba8671e041aeb25e93d6d48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Burkard?= <22095555+JeromeBu@users.noreply.github.com> Date: Fri, 28 Feb 2025 16:13:50 +0100 Subject: [PATCH] add CONTRIBUTING.md --- CONTRIBUTING.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 82eedd3b..017fbdfb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,9 +1,14 @@ # Contributing -Commit messages should be written in English. +When contributing to this repository, please first discuss the change you wish to make via issue. We will than discuss the best way to implement it. -We only accept contributions if they are *signed off* with the contributor's real name. +## Code rules -By signing off their contributions, contributors accept the [developer certificate of origin](https://developercertificate.org). +### Backend (API) -If you wish, you can also send your suggestions directly to `contact@code.gouv.fr`. +The buisness logic is in `api/src/core`. Which is split in different parts: + +- `api/src/core/usecases`: contains the usecases that are called by the router. This orchestrates the flow of business logic. It should not be specific to the sources, and it should always use a port when accessing a source. +- `api/src/core/helpers`: contains the helpers that are used by the usecases. This can contain all the reusable business logic. +- `api/src/core/ports`: the contracts to discuss with the outside world and infrastructure (database, external APIs, etc.) +- `api/src/core/adapters`: the implementations of the ports. This is the only place where we should have code specific to the sources for example. \ No newline at end of file