Elisabeth, Developer Mage

Taller Perú ✨

Technical Stack: PHP, PDO, MySQL, HTML5, CSS3 (Tailwind), JavaScript

Type: E-commerce website with admin panel

Overview

Taller Perú is a professional website for a specialized automotive garage in Las Palmas. The platform combines an intuitive client interface to view services and promotions with a powerful admin panel to dynamically manage promotional offers. This project demonstrates complete content management with advanced image optimization.

Interface d'ajout - Partie 1 Interface d'ajout - Partie 2 Interface d'ajout - Partie 3

Client Space (Public)

📱 Main Features

Admin Space

🔐 Authentication & Dashboard

Secure login (email/password, bcrypt hash) with real-time dashboard showing: ✅ Total promotions | 🔥 Active | 📅 Upcoming | 🗑️ Expired

🎁 Promotions Management

Create, edit, delete offers. Intuitive interface with:

Détails Gestion Promotions

📝 Formulaire Création

Champs : Título, Descripción, Imagen (JPG/PNG/GIF/WebP max 5MB), Fecha de Inicio/Fin (date pickers), Reducción optionnelle. Boutons : "Agregar Promoción" et "Volver al Dashboard"

🖼️ Optimisation Images

Compression légère (200px/500px) avec image-optimizer.js. BLOB MySQL, lazy loading, contrôleurs cache optimisés.

📅 Gestion Temporelle

Dates flexibles avec archivage auto. Programmation à l'avance des promotions. Affichage dynamique actives/à venir/expirées.

⚡ Performance & Sécurité

PDO préparées (SQL injection). Hash bcrypt. Sessions sécurisées. Service Worker. Redirection admin protégée. Indexes base.

Architecture technique

Backend & Infrastructure

🔌 Stack PHP/PDO

Utilisation de PHP avec PDO pour requêtes sécurisées. Classes de contrôleurs spécialisées pour chaque fonctionnalité. Architecture modulaire facilitant la maintenance et l'évolution.

🗄️ Base de données MySQL

Fichiers de migration SQL disponibles :

  • migration_discount.sql - Table réductions
  • migration_image_cache.sql - Cache images
Structure normalisée avec relations et indexes.

🖼️ Optimisation Images

Utilisation de image-optimizer.js pour optimisation légère des images de promotions. Compression automatique en 2 résolutions : thumbnail (200px) et medium (500px). Contrôleurs : image_production.php (affichage) et image_cache.php (cache gestion). Lazy loading pour améliorer performance sur mobiles.

📧 Forms Processing

JavaScript Validation on the client side for immediate UX. Server Processing with process_contact.php. HTML escaping of inputs for security.

Key Points & Challenges