HomeAboutProjectsCVContact
Back to Projects

Gradhire

September 2023 - December 2023

Design of a website to help computer science students in Montpellier find internships/apprenticeships

Contributors:

Daniil Hirchyts, Giovanni Gozzo, Marius Brouty

php
js
api
figma
postgresql
ldap
tailwindcss
scrum
git

Project Overview

The current objective of this project is to design a web platform dedicated to internship and apprenticeship search, exclusively intended for students of the Montpellier computer science department. To ensure access restricted to only students, professors, secretaries and companies wishing to publish their offers on our site, we are deploying an LDAP-based authentication system and password hashing. The design elegance and interface responsiveness allows everyone to navigate easily and get the most out of our platform. Additionally, the site offers efficient data management through a performant database and robust PHP backend. This ensures smooth usage and quick response.

Key Features

  • Solution implementation
  • Database design
  • Security management systems
  • Teamwork
  • Agile project management
  • Full-stack development
  • Client analysis and evaluation of needs

Context

The current objective of this project is to design a web platform dedicated to internship and apprenticeship search, exclusively intended for students of the Montpellier computer science department. To ensure access restricted to only students, professors, secretaries and companies wishing to publish their offers on our site, we are deploying an LDAP-based authentication system and password hashing. The design elegance and interface responsiveness allows everyone to navigate easily and get the most out of our platform. Additionally, the site offers efficient data management through a performant database and robust PHP backend. This ensures smooth usage and quick response.

Image 0Image 1Image 2

Relations between personal achievements and the program of BUT Computer Science

AC 21.01 : Élaborer et implémenter les spécifications fonctionnelles et non fonctionnelles à partir des exigences.

Level: Acquis

Link with the project

L'élaboration et l'implémentation des spécifications ont permis de structurer le projet en fonction des exigences et des attentes des professeurs.

CE 1.01 : Respecter les besoins décrits par le client

Consignes du projet à respecter, avec des attentes des professeurs, en élaborant des User Story et des Personas pour répondre aux exigences.

CE 2.04 : Formaliser et modéliser des situations complexes

Création d’un système de filtre dynamique en PHP pour répondre aux besoins complexes du projet.

AC 21.02 : Appliquer des principes d’accessibilité et d’ergonomie.

Level: Acquis

Link with the project

L'application des principes d'accessibilité et d'ergonomie a permis de créer une interface utilisateur intuitive et réactive.

CE 1.03 : Veiller à la qualité du code et à sa documentation

Développement d’une interface homme-machine ergonomique, en veillant à la qualité du code et en respectant les principes SOLID.

CE 2.03 : S’appuyer sur des schémas de raisonnement

Utilisation de User Stories et de Use Cases pour concevoir une interface intuitive et accessible.

AC 21.03 : Adopter de bonnes pratiques de conception et de programmation.

Level: Acquis

Link with the project

L'adoption de bonnes pratiques de conception et de programmation a permis d'optimiser le site et d'améliorer sa performance.

CE 1.04 : Choisir les ressources techniques appropriées

Changement de langage de la BDD et création d'un framework interne pour améliorer la conception et la programmation.

CE 2.02 : Recenser les algorithmes et les structures de données usuels

Optimisation des algorithmes existants pour améliorer les performances du site.

AC 21.04 : Vérifier et valider la qualité de l’application par les tests.

Level: Acquis

Link with the project

La vérification et la validation par les tests ont permis de garantir la qualité de l'application et de corriger les bugs.

CE 2.04 : Justifier les choix et valider les résultats

Réalisation de tests pour valider les choix d’optimisation du site avant chaque rendez-vous avec le client.

AC 22.01 : Concevoir et développer des applications communicantes.

Level: Compris

Link with the project

La conception et le développement d'applications communicantes ont permis de créer une API sécurisée et fonctionnelle.

CE 3.01 : Sécuriser le système d'information

Réalisation d’une API et d’un mini framework pour faciliter l’utilisation de composants, en sécurisant le système d'information.

AC 22.03 : Sécuriser les services et données d’un système.

Level: Acquis

Link with the project

La sécurisation des services et des données a permis de protéger les informations des utilisateurs et de respecter les réglementations.

CE 4.01 : Respecter les réglementations sur le respect de la vie privée et la protection des données personnelles

Réalisation d’un système de connexion et de compte avec chiffrement pour sécuriser les données personnelles des utilisateurs.

AC 26.02 : Appliquer une démarche pour intégrer une équipe informatique au sein d’une organisation.

Level: Compris

Link with the project

L'application d'une démarche pour intégrer l'équipe a permis de favoriser une communication efficace et une collaboration harmonieuse.

CE 5.01 : Communiquer efficacement avec les différents acteurs d'un projet

Participation active aux réunions avec le Scrum Master et le Product Owner pour intégrer efficacement l'équipe.

CE 6.04 : Développer une communication efficace et collaborative

Mise en place d'un Discord et de daily meetings pour favoriser la communication et la collaboration au sein de l'équipe.

AC 26.03 : Mobiliser les compétences interpersonnelles pour intégrer une équipe informatique.

Level: Compris

Link with the project

La mobilisation des compétences interpersonnelles a permis de renforcer les relations de travail et de favoriser une approche proactive et créative.

CE 5.04 : Adopter une démarche proactive, créative et critique

Proposition d'idées créatives et participation au choix des idées pour le développement du site avec un esprit critique.