05/09 · Corporate website
PIMSA Web
Public website of an engineering-plastics recycler, with the panel that runs it: Marketing works the leads and the stock catalogue, HR runs a job board that takes CVs, and neither area sees the other's data.
Public, in production- 8
schema.org types
- 3
panel roles
- 8
MySQL tables
- 0
animation libraries
About the project
The role is read from the database on every request rather than carried in the session token, so moving someone to another area takes effect at once. The same lookup ends a deleted account's sessions, and a password-version claim in the token ends them when a password is reset. Guards run in every page, every server action and the CV download route; a hidden link is only cosmetic.
A lead or an application is stored before anything is emailed, so a failed SMTP call never loses one. Recipients and the sending account are changed from the panel without a redeploy, and the SMTP password is kept encrypted with AES-256-GCM. Every attempt, test sends included, lands in a delivery log as sent, failed or skipped, and the last two record why.
A vacancy keeps its place, pay and closing date as separate fields instead of free text, with schema.org values for the job type and pay period, so one record feeds its page, the JobPosting data Google reads and an Indeed-format XML feed for the job boards. Across the site, eight schema.org types describe the company, its services, its FAQs and its openings.
Built to replace the company's WordPress site, it renders on the server by default and needs no animation library. The ORM stays out of client bundles, and photographs promoted from the camera originals go through a script built on sharp that bakes in the EXIF rotation, caps the long edge at 2000 px and strips GPS data. It runs as a Node app on Hostinger over MySQL, deployed from main.