KentSwap is a peer-to-peer e-commerce platform built by University of Kent students, for University of Kent students — buy and sell within a secure, fee-free, student-focused community.
🎓 Final Year Project — COMP6000 (Group Project), Computer Science, University of Kent. Supervised by Nzechukwu Otuneme.
Students sign up with their university email, secure their account with two-factor authentication, and trade safely: listings are admin-approved, items are exchanged at pre-arranged campus pick-up/meet-up points, and a QR code confirms the hand-over. By giving pre-loved items a second life, the platform supports SDG 12 (responsible consumption) — helping students declutter, earn extra income, and kit out uni life affordably.
- University-email registration, 2FA, Google reCAPTCHA, password-strength validation
- Product listings with categories, tags, condition, multi-criteria filtering and search
- Ratings & reviews, wishlist, cookie-based cart, and quick login
- Campus pick-up / meet-up delivery with order tracking and QR confirmation
- MyKentSwap dashboard: manage products, orders, refunds, tracking, purchase history, payments, and messages
- Role-based admin panel: product approval, categories, users, reports, refunds, orders, payments
PHP (CodeIgniter 4) · MySQL/MariaDB (originally PostgreSQL) · Bootstrap · JavaScript/jQuery · Ajax DataTables · Figma (design)
| Member | GitHub |
|---|---|
| Shola A***** — Lead Developer | bigkrown |
| Vina S***** | PruthvinaShavji |
| Dan S***** | SpinningTurtle |
| Abeni O***** | oyeneyinabenisarah-maker |
| Berk Y***** | SciXYolk |
If you use, fork, or build on this project, please credit the project team listed above — a mention and a link back to this repository is appreciated.
Dynamic demo (full app — login, cart, checkout, admin): https://kentswap.onrender.com/ — running on Render's free tier against a TiDB Cloud MySQL database. The instance sleeps when idle, so the first visit can take ~50 seconds to wake. New registrations are closed; use the demo accounts documented in docs/SAMPLE_DATA_SEEDING.md.
Static demo (instant, browse-only):
- https://kentswap-demo.vercel.app/ (Vercel)
- https://bigkrown.github.io/kentswap-demo/ (GitHub Pages mirror)
| Home | All Products |
|---|---|
![]() |
![]() |
| Product Detail | Categories |
|---|---|
![]() |
![]() |
Walkthrough recordings of the platform in action — click a thumbnail to watch:
![]() |
![]() |
![]() |
| Sign up & Login (Final) — watch · Drive | Admin Panel — watch · Drive | Order Fulfillment — watch · Drive |
An early, longer cut of the sign-up flow — Sign up & Login (V1) — is on Google Drive (213 MB, Drive only). All videos play embedded on the demo site's videos page.
This site and repository exist for demonstration and educational purposes only — a University of Kent final year project. It is not a trading marketplace: all listings, user accounts, orders, reviews, and payments are fabricated sample data.
- Product names & brands (e.g. Sony, Nike, Casio, Nintendo, LEGO) appear purely as illustrative sample listings. All trademarks are the property of their respective owners; no affiliation or endorsement is implied.
- Product photos are sourced from Wikimedia Commons and Openverse under their respective free licences (public domain / Creative Commons) and are used as illustrative demo placeholders. Credit belongs to the original photographers. Replace these images before any non-demo use.
- Category thumbnails partly reuse the same demo photos; the remaining design assets, wireframes, videos, and code are the original work of the project team listed above.
- Built on open-source software: CodeIgniter 4 (MIT), Bootstrap (MIT), jQuery (MIT), MariaDB/MySQL.
Prerequisites: XAMPP (Apache + MariaDB + PHP 8.x) or any equivalent PHP/MySQL stack.
- Clone the repo into your web root:
git clone https://github.com/bigkrown/kentswap.git C:\xampp\htdocs\kentswap - Create the database and import the ready-made dump (schema + sample
data — 100 products, demo users, orders, reviews):
mysql -u root -p -e "CREATE DATABASE kentswap" mysql -u root -p kentswap < database/kentswap.sql - Configure the environment: copy
.env.exampleto.envand set your DB username/password. - Serve it — either option works:
- Quick:
php spark servethen setapp.baseURL = 'http://localhost:8080/'in.envand open http://localhost:8080/ - Apache vhost (matches the default
.env): add a vhost withDocumentRoot .../kentswap/publicandServerName kentswap.local, add127.0.0.1 kentswap.localto your hosts file, then open http://kentswap.local/
- Quick:
- Log in with a sample account — every seeded user's password is
Kent2026!(e.g.bigkrown.sample@kent.ac.uk), or the admin accountadmin@kent.ac.uk.
The full setup/seeding record (schema quirks, CHECK constraints, gotchas)
is in docs/SAMPLE_DATA_SEEDING.md, with
re-runnable seed scripts in database/seeds/.






