Projets pour freelances & agences web

Retrouvez l'actualité des projets pour freelances et agences web.

Amélioration d'une web app de gestion de données

Posté le 05/10/2021 à 04:00 - Budget : 500 - 1000

Je recherche un freelance autonome et expérimenté pour reprendre le développement d'une application gérant des données entreprises et candidats, dans le secteur de l'emploi et la réinsertion professionnelle.
L'application actuelle :
L'application actuelle est développée en PHP/MySQL/Ajax/Bootstrap/Argon.
Le projet actuel compte actuellement une dizaine de tables. La web app interagit avec une petite app mobile, développée pour IOS et Android. L'app mobile permet d'enregistrer des séquences vidéos. La web app permet de gérer les paramètres pour l'enregistrement de ces vidéos et de gérer leurs accès.
Les sources disponibles sur GitHub seront partagées au développeur en charge du projet.
Le projet de modifications :
Les tâches à réaliser consistent à sécuriser l'application existante et à développer une nouvelle fonctionnalité de partage.
Il s'agit de modifier l'architecture actuelle, base de données et back-end et d'adapter le front-end.
1. Le lien pour visualiser l’entretien comprend actuellement avec l’id du candidat. Il faut ajouter un champ-clé alphanumérique (fort) dans la base de données pour éviter que l’on puisse changer l’id dan l’url et visualiser un autre entretien !
2. Implémentation d’une fonctionnalité de partage d’entretiens. Le partage doit pouvoir se faire par un utilisateur qui souhaite partager un entretien qui a déjà été réalisé. La fonction de partage ouvre une fenêtre qui permet de saisir l’adresse email du destinataire. Un email de notification de partage est envoyé.
Cette fonctionnalité doit être également possible pour un candidat.
Une table des partages doit être créée dans la base de données pour identifier les partages réalisés. Elle doit comprendre l’id de l’entretien, l’adresse email de partage, l’adresse email de l’utilisateur qui effectue le partage, la date du partage, la date de visualisation.
L’auteur du partage doit pouvoir voir l’état du partage pour chaque entretien (email, date de partage, date de visualisation).
Lorsque le destinataire reçoit l’invitation, il clique sur le lien arrivant sur l’entretien partagé. Si son adresse n’existe pas dans la base de données, il doit créer un compte. Si l’adresse existe, il doit se connecté, s’il ne l’est pas déjà.
Email de partage : "L’entretien vidéo de Prénom Nom vient de vous être partagé. Cliquez sur le lien ci-dessous pour visionner l’entretien.
Lien".
Le lien d’invitation doit mener directement sur la page de visualisation de l’entretien. il doit contenir l’id (champ-clé long, voir point 1) de l’entretien ou du partage, pour éviter que l’on puisse visionner un autre entretien en modifiant le lien. Une vérification doit s’effectuer pour valider que l’adresse email de l’utilisateur courant est bien celle indiquée dans la table, ceci pour éviter que l’email puisse être transférer à de tierces personnes et que celles-ci puissent visionner un entretien qui ne leur a pas été personnellement partagé.
Dans la page "Entretiens", une nouvelle section "entretiens partagés" doit être créée, elle doit lister tous les entretiens qui ont été partagés à son adresse email, sur la base du contenu de la table précitée en lien avec les tables users et postes pour lister les champs Nom, Prénom, Poste et date de partage.
Lorsqu’un entretien est visualisé par une personne à qui l’entretien a été partagé, la date de visualisation doit être mise à jour et un email de notification doit être envoyé à la personne qui a partagé l’entretien. Dans le cas où un destinataire de partage se crée un compte ou se connecte avec un autre compte que celui correspondant à l’adresse email de partage, le message suivant s’affiche : "Vous n’avez pas l’autorisation de visionner cet entretien".

Accéder à la fiche du projet

Autres projets susceptibles de vous intéresser

Vous avez un projet ?

Contactez-nour pour nous le présenter

Autres articles

Pourquoi choisir le système de template PHP ?

Pourquoi choisir le système de template PHP ?

le Dimanche 31 juillet 2022

Pourquoi choisir Symfony ?

Pourquoi choisir Symfony ?

le Mardi 26 juillet 2022

Le moteur de template Twig avec Symfony

Le moteur de template Twig avec Symfony

le Samedi 23 juillet 2022

La technologie Symfony

La technologie Symfony

le Mardi 19 juillet 2022

Comment devenir Webmaster ?

Comment devenir Webmaster ?

le Vendredi 15 juillet 2022

Comment installer le langage Python ?

Comment installer le langage Python ?

le Jeudi 7 juillet 2022

Pourquoi choisir le langage Python ?

Pourquoi choisir le langage Python ?

le Mardi 5 juillet 2022

Le langage de programmation

Le langage de programmation

le Vendredi 1 juillet 2022

La différence entre JavaScript, HTML et CSS

le Mardi 28 juin 2022