{"id":15190517,"url":"https://github.com/marie-geneste/note-life","last_synced_at":"2026-03-06T04:03:51.423Z","repository":{"id":214478638,"uuid":"736593790","full_name":"Marie-Geneste/Note-Life","owner":"Marie-Geneste","description":"Projet de prise de note pour la Fabrique du Numérique","archived":false,"fork":false,"pushed_at":"2024-01-14T21:21:20.000Z","size":366,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-10T18:35:05.410Z","etag":null,"topics":["angular","mongodb","mongoosejs","nodejs","token"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Marie-Geneste.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-12-28T10:26:07.000Z","updated_at":"2024-01-14T20:47:32.000Z","dependencies_parsed_at":"2024-01-13T17:44:02.861Z","dependency_job_id":"41f902f3-c4e3-4ac5-b19f-2376ab5ce229","html_url":"https://github.com/Marie-Geneste/Note-Life","commit_stats":null,"previous_names":["marie-geneste/note-life"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marie-Geneste%2FNote-Life","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marie-Geneste%2FNote-Life/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marie-Geneste%2FNote-Life/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marie-Geneste%2FNote-Life/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Marie-Geneste","download_url":"https://codeload.github.com/Marie-Geneste/Note-Life/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241061922,"owners_count":19902793,"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":["angular","mongodb","mongoosejs","nodejs","token"],"created_at":"2024-09-27T20:40:26.810Z","updated_at":"2026-03-06T04:03:51.408Z","avatar_url":"https://github.com/Marie-Geneste.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Notelife\n\nCe projet est une application web pour la prise de note et son organisation.\n\n## Lancement de l'application\n\nUI : Run `npm start`. Navigate to `http://localhost:4200/`\nServer : Run `npm run back`. \n\n## Explication\n\nVoici le document détaillé : `https://docs.google.com/document/d/1r5QSeuZ1etI_HLiwjgGVzNUovFs61_81/edit`\n\nJ'ai utilisé Angular en front et NodeJS avec mongoDB en back.\n\nAvancées au 15/01/2024 :\n\n- CRUD utilisateur terminé : inscription, connexion, affichage utilisateur (profil), modification et suppression utilisateur. \n- Utilisation du JWT pour la gestion de l'utilisateur. \n- Pour des raisons de sécurité le mot de passe est hashé, utilisation du sanitize html et des cors. \n- Gestion de la déconnexion du token par expiration et par le bouton logout de la page profil. \n- Ouverture d'une modale de confirmation pour la suppression de l'utilisateur (avertissement pour la supression des notes liées à l'utilisateur). \n- Possibilité de modifier le pseudo mais pas l'email ni le mot de passe pour des raisons de sécurité. \n- La connexion est requise directement après l'inscription pour des soucis de sécurité également.\n\n- J'ai pris à coeur de gérer toutes les vérifications nécessaires à la connexion et à l'inscription côté server et côté UI : \n    - champs requis, \n    - email valide, \n    - confirmation du mot de passe, \n    - mot de passe supérieur à 6 caractères, \n    - message d'erreur qui apparaît aux différents niveau pour aider au mieux l'utilisateur au niveau de l'inscription et de la connexion sans pour autant en affecter la sécurité (email ou mot de passe invalide au niveau de la connexion pour éviter l'attaque d'un des champs en particulier).\n    - Désactivation des bouton de soumission de formulaire si les vérifications ne sont pas toutes validées avec utilisation du matToolTip\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarie-geneste%2Fnote-life","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarie-geneste%2Fnote-life","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarie-geneste%2Fnote-life/lists"}