WEB DEVELOPMENT · E-COMMERCE

Sell Services and Graphic Products

Online store for custom graphic services and products, with user accounts, catalog, cart and a MySQL database.

Program
Computer Programmer program · Lambton College
Year
2023 · updated in 2026
Role
Full stack developer
Stack
PHP · MySQL · JavaScript · jQuery

// 01 · THE MISSION

The mission

An e-commerce platform to sell custom graphic services and products, such as logo design, t-shirts, notebooks and tumblers. The goal was to recreate a customer's full journey in a real store: discover the offer, create an account, browse the catalog, build an order and manage their data. The frontend was built with HTML, CSS, JavaScript and jQuery, and the backend with PHP connected to a MySQL database running locally on XAMPP. Developed within the Computer Programmer program at Lambton College in Ontario, Canada, following professional development standards.

// WHAT WAS BUILT

02

Features

  • Sign-up and login with email or nickname
  • Pop-up offer with a countdown on the home page
  • Filterable catalog with search: services, products, shirts and notebooks
  • Cart with live count and total
  • Editable user profile, saved to the database
03

Backend and database

  • PHP connected to MySQL (MariaDB) on XAMPP
  • Users table with unique email and nickname
  • Validation in the browser with jQuery and on the server with PHP
  • Store and profile protected: logged-in users only
04

Security update (2026)

  • Passwords hashed with password_hash
  • Prepared statements against SQL injection
  • Escaped output against XSS and session regeneration
  • End-to-end tests: sign-up, login, cart, profile and logout

// USER JOURNEY

An end-to-end shopping experience

Each stage of the journey was designed so users move forward without friction, from their first contact with the brand to managing their account.

01

Discover

A home page with a banner that adapts on scroll and a pop-up offer with a countdown that encourages purchase.

02

Sign up

Sign-up and login with email or nickname, validated in the browser and on the server to protect data quality.

03

Shop

A catalog filterable by category, search, product details and a cart with a live count and total.

04

Manage the account

An editable profile that saves changes to the database, and secure logout.

// CHALLENGES AND SOLUTIONS

Keeping the user signed in

PHP sessions keep the user's identity from login through the store and their profile, and private pages check that session before rendering.

Reviewing and improving my own code

When publishing the project I reviewed the 2023 version: passwords were stored in plain text and queries were built by hand. I replaced them with password_hash and prepared statements, and verified that an SQL injection attempt no longer has any effect.

Updating only what changes

The profile form builds the update only from the fields the user filled in, so the rest of their information is not overwritten.

MISSION ACCOMPLISHED

Results and impact

Want to sell your products online?

I build stores tailored to your business, secure and easy to manage, so you can start selling as soon as possible.