Contract Manager
Note: This application does not reflect my current skills, but rather serves as a marker of progress.
Context
To learn more about the context behind the creation of this application, feel free to contact me:
- via the contact form
- by email at Contact.OscarPARDON@gmail.com
I will do my best to reply within 48 hours.
About the application
Technical Specifications
- Architecture : MVC
- Backend : PHP
- Database : MySQL
- Frontend : HTML, CSS, Bootstrap, JavaScript
- Mailing : PHPMailer
- Scheduled Tasks : Cron
Deployment and Production environnement
During development, my IDE was configured to automatically sync the code via FTP to a Debian Web server running Apache 2.
Although the application was not officially in production, I set up two distinct environments:
- a development version on my local machine;
- a so-called production version, functional and continuously available, updated occasionally after new features were validated.
Main Features
- Structured contract hosting (data + PDF documents)
- Automatic email reminders for renewals
- Automated maintenance of database tables and PDF files
- Support module connectable to GLPI or a dedicated email address

Security
Injection Protection
- Protection against SQL injections
- Protection against XSS injections
Roles and Partitioning
- 3 Access levels
- Data and permission partitioning
Authentification
- Authentification via Active Directory
- Brutefroce possibility
- IP blocking
Logs
- Login logs
- Database logs
- Periodic task logs
Forms Security
- CSRF tokens
- Data validation

What This Project Taught Me
My Successes
- Getting familiar with fundamental web languages: PHP, HTML, CSS, JavaScript
- Discovering Bootstrap for frontend development
- Understanding the principles and workings of the MVC architecture
My Mistakes
- Ignoring good coding practices
- Lack of project management
- No tests implemented