Graduation Project 2026

Junk to Funk

A full-stack second-hand marketplace where unwanted items find new homes — built with Django & React.

View Features
About

What is Junk To Funk?

Junk To Funk is an online platform that enables users to buy and sell second-hand goods with ease. Inspired by platforms like eBay and Facebook Marketplace, it brings together a clean browsing experience, real-time chat, secure payments, and a credit-based rewards system — all in a single web app.


Features

Everything you need to buy & sell

Core platform capabilities built from scratch over the course of the project.

🛒

Marketplace & Listings

Browse, search, and filter second-hand items. Sellers can post listings with photos, descriptions, and pricing.

💬

Real-Time Chat

Buyers and sellers communicate through a built-in chat system with conversation history and a seller inbox view.

🔐

Authentication

Full registration, login, email verification, and session management. Users own their profile and listings.

💳

Payments

Integrated PayPal and Stripe for secure checkout. Sellers can set up Stripe accounts directly from their profile.

🪙

Credit System

Users earn and spend platform credits. The credit dashboard tracks transaction history and current balance.

VIP Membership

Premium tier with exclusive benefits. Users can upgrade their account to unlock VIP features and visibility boosts.

👤

User Profiles

Customisable profiles with avatar upload, edit capabilities, order history, and public listings page.

🌟

Reviews

Buyers leave reviews after transactions. Sellers build reputation scores visible on their public profile.

📦

Order Management

Track purchases and sales through dedicated My Orders and My Listings dashboards.


App Pages

Key screens

A tour of the main views inside the application.

🏠

Marketplace

Browse all active listings with search and filter support

📝

Sell Page

Create a new listing with images, title, price and category

🔍

Listing Detail

Full item page with photos, seller info, and buy button

💬

Chat

Real-time messaging between buyer and seller

👤

Profile

Public profile page with listings and seller reviews

🪙

Credit Dashboard

Balance overview and full transaction history


Technology

Tech stack

Built with a modern, production-ready full-stack architecture.

Frontend

React Tailwind CSS React Router Context API

Backend

Django Django REST Framework Django Channels (WebSocket) SQLite

Integrations

PayPal Stripe

Final Report

Project Analysis

Three core dimensions explored in the written report — click each bar to expand.

Junk To Funk targets the growing second-hand and recommerce market, driven by rising consumer awareness around sustainability and the desire for affordable goods. The platform is positioned as a peer-to-peer marketplace primarily serving students and young adults.

Market Opportunity
  • The global second-hand market was valued at over $190 billion in 2023 and is projected to double by 2030, driven by platforms like Vinted, Depop, and eBay.
  • Target demographic: 18–35 year olds seeking cost-effective alternatives and environmentally conscious consumption.
  • Competitive advantage: integrated real-time chat, VIP tier, and a platform credit system that incentivises repeat activity.
Revenue Model
  • VIP membership subscriptions providing premium visibility and exclusive features.
  • Transaction-based fees via Stripe and PayPal payment processing.
  • Platform credit economy that encourages user retention and engagement.
Competitive Analysis
  • vs. eBay: simpler UX, no auction complexity, real-time chat built in.
  • vs. Facebook Marketplace: dedicated platform with seller reputation system and structured payments.
  • vs. Vinted/Depop: category-agnostic — not limited to fashion, covering all household and personal goods.

The system is built on a decoupled full-stack architecture: a Django REST API backend and a React single-page application frontend. Real-time features are powered by Django Channels over WebSocket connections.

Architecture
  • Backend: Django 4 + Django REST Framework for API endpoints; Django Channels for WebSocket-based real-time chat.
  • Frontend: React with React Router for client-side routing; Tailwind CSS for styling; Context API for global auth state.
  • Database: SQLite for development, with Django ORM abstractions enabling a straightforward migration path to PostgreSQL in production.
  • Media: user-uploaded images stored via Django's media file handling with configurable storage backends.
Key Implementation Challenges
  • WebSocket lifecycle management — maintaining persistent connections and gracefully handling disconnections in the chat system.
  • Dual payment gateway integration — abstracting PayPal and Stripe behind a unified checkout flow while handling different webhook formats.
  • Session vs. token authentication — balancing Django's session model with the stateless nature of REST API calls from React.
  • Asynchronous task handling for email verification without blocking the main request thread.
Security Measures
  • CSRF protection on all state-changing endpoints.
  • Email verification gate before allowing listing creation.
  • Server-side validation of all user inputs via DRF serializers.
  • Stripe webhook signature verification to prevent fraudulent payment events.

As a platform handling user data, financial transactions, and community interactions, Junk To Funk carries responsibilities across data privacy, environmental impact, fair access, and trust.

Data Privacy & User Trust
  • User data (personal details, transaction history, messages) is stored securely and never shared with third parties beyond payment processors.
  • Email verification ensures account authenticity and reduces the risk of spam or fraudulent listings.
  • Users retain control over their profile and listings — all data can be edited or removed at any time.
Environmental Responsibility
  • The platform's core mission directly supports sustainable consumption: every item resold is one fewer item sent to landfill.
  • Extending the lifecycle of goods reduces demand for new manufacturing, lowering carbon footprint at scale.
  • The platform can serve as a practical tool for communities looking to reduce waste and promote circular economy principles.
Fairness & Marketplace Integrity
  • The review and rating system creates accountability for both buyers and sellers, deterring dishonest behaviour.
  • VIP tiers must be transparent — paid visibility boosts should be disclosed clearly so all users understand how listings are ranked.
  • Accessibility considerations: clear UI, keyboard navigability, and legible contrast ratios ensure the platform is usable for a wide audience.

Author

About the developer

W

Zheng Xian Wu

Final-year student passionate about full-stack web development. Junk To Funk was built as a graduation project, combining a Django REST API backend with a React frontend — implementing everything from authentication and real-time chat to payment gateways and a VIP membership system.