commit e1d2a44f4badd3ce37d206535d63a80af4273755 Author: Alexis Date: Sun Jan 29 15:12:05 2023 +0100 Add Business Class, Front Controller and config file diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..e69de29 diff --git a/Documentation/MCD_Formulaire.svg b/Documentation/MCD_Formulaire.svg new file mode 100644 index 0000000..7c86dfe --- /dev/null +++ b/Documentation/MCD_Formulaire.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Documentation/MLD_Formulaire.svg b/Documentation/MLD_Formulaire.svg new file mode 100644 index 0000000..9096dd5 --- /dev/null +++ b/Documentation/MLD_Formulaire.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Documentation/UML_Formulaire.svg b/Documentation/UML_Formulaire.svg new file mode 100644 index 0000000..c7c142f --- /dev/null +++ b/Documentation/UML_Formulaire.svg @@ -0,0 +1 @@ +UNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDFrontController+construct()ControllerCandidate+construct()+goToForm()+submitForm()ControllerAdmin+construct()+addQuestion()+updateQuestion()+deleteQuestion()+addKeyword()+deleteKeyword()+assignKeywordToQuestion()+deleteKeywordFromQuestion()+goToAdminPage()ModelCandidate+submitForm()+getForm(): arrayModelAdmin+addQuestion(question: Question)+updateQuestion(question: Question)+deleteQuestion(question: Question)+addKeyword(keyword: string)+deleteKeyword(keyword: string)+assignKeywordToQuestion(keyword:Category, question: Question)+deleteKeywordFromQuestion(keyword:Category, question: Question)+getAllFormResponses(): array+getInterestingFormResponses(): array+deleteResponse(response: Response)Form-title: string-description: stringQuestion-content: string+responseStrategy()+printStrategy()YesNoQuestion+responseStrategy()+printStrategy()ListBoxQuestion+responseStrategy()+printStrategy()CheckBoxQuestion+responseStrategy()+printStrategy()TextQuestion+responseStrategy()+printStrategy()Category-word: string-questions«interface»IResponseProcessingStrategy+responseStrategy()-categoriesNos classes métiers sont utilisées par laquasi totalité des classes présentes dansnotre conception. Nous ne représentonsdonc pas toutes les dépendances de cesdernières afin de simplifier la lectureAPIGatewayQuestion+insertQuestion(question: Question)+updateQuestion(question: Question)+deleteQuestion(question: Question)+getAllQuestions(): arrayGatewayKeyword+insertKeyword(keyword: Category)+deleteKeyword(keyword: Category)+getAllKeywords(): arrayGatewayForm+assignKeywordToQuestion(keyword: Category,question: Question)+deleteKeywordFromQuestion(keyword: Category,question: Question)+addTitleToForm(title: string, form: Form)+updateTitleToForm(title: string, form: Form)+deleteTitleOfForm(title: string, form: Form)+addDescriptionToForm(description: string, form:Form)+updateDescription(string: description, form: Form)+getForm(): Form+deleteDescription(string: description, form: Form)Connection+construct()+executeQuery(string, array): bool+getResults(): array-connectionPDOFactoryListBoxQuestion+create(results; array): QuestionFactoryCheckBoxQuestion+create(results; array): QuestionFactoryTextQuestion+create(results: arrray): QuestionGatewayResponse+insertResponse(response: Response)+deleteResponse(response: Response)Response+date(): string-questionsResponses-question«interface»IPrintQuestionStrategy+printStrategy()FactoryYesNoQuestion+create(results: arrray): Questionreturn new YesNoQuestion(...);question = create(...);«interface»IFactoryQuestion+create(results: arrray): Question+getBuiltQuestion()Nous validons etnettoyons les données enfonction de différentscritères comme la taillepar exemple.Validate+email(email: string)+lastName(lastName: string)+firstName(firstName: string)+schoolYear(schoolYear: int)Clean+simpleString(string: string)+int(int: int)+email(email: string)Dictionnaire avec desquestions associéeschacune à une réponseBoxQuestion-possibleResponses+responseStrategy()+printStrategy()"possibleResponses" estun dictionnaire quiassocié chaque réponsepossible à un ouplusieurs KeywordGatewayAdmin+logIn()+logOut() \ No newline at end of file diff --git a/Documentation/UseCaseDiagram_Formulaire.svg b/Documentation/UseCaseDiagram_Formulaire.svg new file mode 100644 index 0000000..7636fee --- /dev/null +++ b/Documentation/UseCaseDiagram_Formulaire.svg @@ -0,0 +1 @@ +UNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUNREGISTEREDUseCaseSubject2UseCaseSubject3CandidateEnvoyer son formulaireRemplir son formulaire«include»AdminAjouter une questionSupprimer une questionModifier une questionAssigner une catégorieà une questionEnlever une catégorie àune questionAjouter une catégorieSupprimer une catégorie«include»«include»«extend»«extend»Accéder au formulaire«include»Accéder à la paged'administration \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29