GSB Recruitment

Note: This application does not reflect my current skills, but rather serves as a marker of progress.

Context

This project was carried out as part of the assessment for the BTS SIO SLAM qualification. The objective was to design a web application that meets the needs of a fictional company called Galaxy Swiss Bourdin (GSB). In addition to being assessed on its own, the application also served as a support for the development exam (E6). In this context, I decided to create a recruitment management application.

About the application

Technical Specifications

  • Architecture : MVT
  • Framework : Django
  • Backend : Python
  • Database : MySQL
  • Frontend : HTML, CSS, Bootstrap, JavaScript
  • Mailing : Django Mail
  • Tests : Django Testcase
Plan of the application

Main Features

  • Viewing job offers and ability to apply for candidates
  • Secure personal space for candidates
  • Application management for employees
  • Alert emails about application progress
  • Candidate / employee chat with appointment scheduling module
  • Application archives

Security

Injection Protection

  • Protection against SQL injections
  • Protection against XSS injections

Roles and Partitioning

  • 3 Divisions (Public, Employee, Candidate)
  • Up to 3 Access levels

Authentification

  • Secure Candidate Area
  • Secure Employee Area
  • Secure Authentication

Forms Security

  • CSRF tokens
  • Data validation
Application Chat illustration

What This Project Taught Me

My Successes

  • Familiarize myself with a web framework
  • Perform unit testing
  • Strengthen my understanding of application architectures

My Mistakes

  • Poor data optimization
  • Lack of project management
  • Lack of certain security measures