Virginia Market Square — Full-Stack E-Commerce Platform
CIS2987 Capstone · Spring 2026 · Arnold Marten
Virginia Market Square is a full-stack, multi-vendor e-commerce web application designed for a farmers market in Virginia, Minnesota. The platform supports three distinct user roles — customers, vendors, and administrators — each with dedicated dashboards and role-specific functionality.
Customers can browse 42 products across 9 local vendors, filter by category, search by keyword, manage a shopping cart, and complete purchases through Stripe payment processing. Vendors manage their product listings, view order history, and track sales metrics through a dedicated portal. Administrators oversee the entire marketplace with tools for user management, vendor approval, event scheduling, and contact submission review.
The application was built from scratch over 9 phases using PHP 8.x with MySQLi prepared statements, a 12-table normalized database (3NF), Bootstrap 5.3 for responsive design, and vanilla JavaScript for client-side interactivity. Security was a priority throughout: bcrypt password hashing, CSRF token protection on all forms, XSS output escaping, and Stripe's PCI-compliant Payment Element ensure card data never touches the server.
| # | Phase | Tasks | Est Hrs | Act Hrs | Completed | Status |
|---|---|---|---|---|---|---|
| 1 | Planning, Design & Database Architecture | 6 | 5.0 | 5.5 | Mar 10–12 | Done |
| 2 | Advanced Database & Environment Setup | 4 | 6.0 | 6.5 | Mar 19 | Done |
| 3 | User Authentication Systems | 5 | 5.5 | 5.5 | Mar 21 | Done |
| 4 | Backend Pages & API Logic | 13 | 14.0 | 14.0 | Mar 22–27 | Done |
| 5 | E-Commerce Payment Integration (Stripe) | 3 | 3.0 | 3.0 | Apr 4 | Done |
| 6 | Frontend & Responsive Design | 11 | 7.5 | 7.5 | Apr 7–12 | Done |
| 7 | JavaScript & Interactivity | 4 | 3.0 | 3.5 | Apr 19 | Done |
| 8 | Content, Images & Sample Data | 2 | 2.0 | 1.5 | Apr 21 | Done |
| 9 | Testing, Optimization & Deployment | 2 | 3.0 | 2.5 | Apr 22 | Done |
| TOTAL — 9 phases | 48 | 48.5 | 51.5 | Mar 10–Apr 22 | COMPLETE | |
Screenshots from the production site demonstrating all major features across all three user roles.
Click any screenshot to enlarge.
GitHub Projects was used as the project management tool throughout the capstone. All 48 tasks were tracked as GitHub Issues organized into 9 phases, with progress automatically updated via a GitHub Actions workflow that queries the project board through the GitHub GraphQL API.
All 48 planned tasks across 9 phases were completed. No tasks were left incomplete or deferred.
One infrastructure item remains outstanding: SSL/TLS certificate activation on the IONOS production domain. The hosting plan's free SSL certificates are fully allocated to other domains in the account, and the system-generated domain (s1085477016.onlinehome.us) does not support custom certificate assignment through IONOS. This is a hosting provider limitation, not an application deficiency — the application implements comprehensive security at every layer (prepared statements, bcrypt, CSRF, XSS escaping, Stripe PCI compliance).
The following deliverable documents were produced as part of the capstone project:
76 test cases across 10 feature areas. Authentication, product browsing, cart, Stripe checkout, three dashboards, public pages, form validation, responsive design. 100% pass rate.
45 security controls audited across 7 domains: SQL injection, XSS, CSRF, authentication, Stripe, configuration, input validation. OWASP Top 10 mapping included. All controls rated SECURE.
Complete setup guide: tech stack, file structure, local development (XAMPP), CI/CD pipeline (GitHub Actions), database management, crash recovery, troubleshooting.
Seven weekly reports documenting activity logs, reflections, proof of completed tasks, and updated project timelines across the full development cycle.
12-table schema in 3NF with ER diagram, foreign key relationships, indexes, and design rationale. All monetary values DECIMAL(10,2), InnoDB with utf8mb4.
Scope definition, user roles, feature requirements, technology stack, timeline, and success criteria established at project inception.
This capstone project was the most technically demanding work I've undertaken. Building a full-stack e-commerce application from scratch — with three user roles, a normalized 12-table database, Stripe payment integration, and a CI/CD deployment pipeline — required me to apply and extend every skill from my coursework in a single integrated project.
The biggest technical growth came in backend development. Writing complex SQL JOINs that pull product data with vendor names and category labels, building database transactions with rollback for order creation, and implementing session-based authentication with role-specific access control were all areas where I went from textbook understanding to practical fluency. The Stripe integration was a highlight — understanding the PaymentIntent workflow (create server-side, confirm client-side, verify server-side before touching the database) gave me real insight into how production payment systems work.
Explore the full portfolio or get in touch about your next project.
VIEW ALL WORK