PROJECT
REPORT
Craftify - An Online Marketplace
Submitted by:
Jeba Tabassum Urbi (2231034642)
CSE311L, Group-10, Section-7
Date: 15 Nov, 2025
1. Introduction
The Craftify web application is a global online marketplace designed to connect consumers
directly with independent creators and small businesses. It focuses on unique, handmade,
and collected items, promoting positive change for small businesses and the environment.
The application provides a comprehensive e-commerce platform with distinct interfaces
and functionalities for three primary user roles: Customer, Seller, and Administrator. It is
built using the PHP and MySQL stack, leveraging the Bootstrap framework for a modern,
responsive user interface.
2. Background Research/Motivations
Existing Solutions & Differentiator
Similar existing solutions include large e-commerce platforms. Craftify differentiates itself
by explicitly stating its focus on independent creators and the community aspect of
making, selling, and collecting unique items, rather than mass-produced or warehouse-
based goods. This focus aims to provide a more curated and supportive environment for
small businesses.
Motivation
The motivation for this project is to create an accessible and feature-rich online platform
for craftspeople and artisans who often lack the resources to build their own dedicated e-
commerce sites. The platform helps people by making the whole process of selling and
buying unique goods easy, connecting buyers directly with makers.
3. Resources/Technologies
The tech stack for the Craftify project is built on established web technologies:
• Back-end: PHP (Hypertext Preprocessor)
• Database: MySQL (Structured Query Language)
• Front-end Framework: Bootstrap (v5.3.x) for responsive design and UI
components191919.
• Icons: Font Awesome (v6.5.1) for scalable vector icons.
• Database Connectivity: The native mysqli extension in PHP is used, employing
prepared statements for secure database interaction and preventing SQL injection
attacks.
4. Project Design
User Types, Roles, and Features
Landing
User Type Role Key Features
Page/Interface
Product search, view
product details, index_u.php (Public
add/remove/update Home) /
Customer Buys products
cart, checkout, view User/[Link]
purchase (Dashboard)
history/payments
Manage shop, add/edit index_s.php (Public
products, view my Home) /
Seller Sells products
products, view my Seller/[Link]
orders/sales (Dashboard)
View all orders,
manage categories, Admin/[Link]
Administrator Manages platform
view all products, (Dashboard)
manage user roles
Database Schema (DB Structure)
▪ user (user_id PK, name, email (Unique), password, role, created_at)
▪ admin (admin_id PK/FK to user, created_at)
▪ seller (seller_id PK/FK to user, shop_name, shop_des, rating)
▪ product_category (category_id PK, category_title)
▪ products (product_id PK, product_title, product_des, product_keywords,
category_id FK to product_category, product_img1, product_img2, price, status,
seller_id FK to seller, created_at)
▪ cart (cart_id PK, user_id FK to user, created_at)
▪ cart_item (cart_id PK/FK to cart, product_id PK/FK to products, quantity)
▪ orders (order_id PK, buyer_id FK to user, seller_id FK to seller, total_amount,
status, created_at)
▪ payment (payment_id PK, order_id FK to orders (Unique), method, amount,
status, created_at, user_id, address, email)
▪ admin_actions (action_id PK, admin_id FK to admin, action_type, target_entity,
target_id, created_at)
ER Diagram & Relational Model
The database implements one-to-many relationships (1:M) between core entities (e.g., a
User has M Orders; a Category has M Products). Many-to-many relationships (M:M) are
resolved using intermediate tables (e.g., Cart and Products related via Cart_Item).
Figure: Entityl Diagram of Craftify_db
Figure: Relational Diagram of Craftify_db
Figure: Project Workflow & Gantt Chart
5. Sitemap
Figure: Sitemape of Craftify Website
6. Snapshots
This section should contain visual evidence of the working application.
• Public/Guest Interface: Snapshot of [Link] and [Link] showing the
featured products and navigation bar.
• Customer Features: Snapshots of a single product's detail page
(product_details.php), the shopping cart ([Link]), the checkout page
([Link]), and the customer dashboard (User/[Link] showing
orders/payments).
• Seller Dashboard: Snapshots of the Seller/[Link] page, showing the side
navigation for adding products and the display of their products and orders.
• Admin Panel: Snapshots of the Admin/[Link] page, showing the side menu and
the list of all orders from [Link].
• Database Tables: Snapshots of the final database tables (user, products, orders,
etc.) populated with sample data.
7. Conclusion & Future Work
Conclusion
Craftify successfully implemented a multi-role e-commerce marketplace adhering to
modern security practices (password hashing, prepared statements) and architectural
patterns (separation of concerns in PHP files). The platform provides a full user experience
from browsing to checkout (including COD payment) and robust dashboards for sellers and
administrators. All core CRUD and SQL complexity requirements (Join, Aggregate) were
met through implemented features
Future Work
Future improvements could focus on:
1. Search Functionality Enhancement: Implementing full-text search or more
sophisticated filtering in search_product.php
2. Seller Management: Adding features for sellers to edit and delete their existing
products (currently only insertion is explicitly visible in the menu snippets).
3. Payment Gateways: Integrating a third-party payment gateway (e.g., Stripe, PayPal)
instead of relying solely on Cash on Delivery (COD).
4. Security and Performance: Implementing rate-limiting for login attempts and
optimizing database queries for highly trafficked pages.
5. Improving Cart Handelling: Adding features so that user can delete cart items
when there is one cart.
8. Contributions
Jeba Tabassum Urbi (2231034642)
Group-10, Section-7