UniTrade: C2C Marketplace Platform for University Students
A full-stack C2C marketplace built on Odoo that enables university students to securely buy and sell products through verified seller accounts, integrated payments, escrow transactions, buyer-seller chat, reviews, and marketplace management features.
Overview
UniTrade is a C2C marketplace platform designed for university students to securely buy and sell products within a campus-oriented community.
The platform is built on Odoo 17 and extends the existing Odoo Website and eCommerce ecosystem through multiple custom modules covering seller verification, marketplace products, payments, escrow, chat, reviews, notifications, disputes, delivery, and administration.
Users can browse and purchase products directly, while users who want to become sellers must complete student identity verification using their university student card.
Problem
Students frequently buy and sell second-hand items such as electronics, books, fashion products, academic equipment, and other daily necessities.
However, transactions through general social media platforms often lack structured product management, verified seller identities, payment protection, order tracking, and dispute handling.
UniTrade addresses this problem by creating a campus-focused marketplace with a stronger trust layer through student verification and structured transaction workflows.
C2C Marketplace
UniTrade uses a Consumer-to-Consumer marketplace model.
A registered user can act as a buyer immediately and can become a seller after completing the verification process.
The main marketplace workflow includes:
- User registration and account verification.
- Product discovery and search.
- Product detail and seller information.
- Shopping cart and checkout.
- Payment processing.
- Seller order fulfillment.
- Buyer confirmation.
- Review and rating.
- Escrow release and seller payout.
Seller Verification
Users who want to sell products must complete a seller verification process.
The verification workflow includes:
- Student card upload
- Student identity validation
- NIM validation
- OCR-based text extraction
- Verification status management
- Admin approval or rejection
Google Cloud Vision is integrated to perform OCR on uploaded student cards.
The extracted information helps simplify the verification process before the application is reviewed by the administrator.
Product Marketplace
Verified sellers can create and manage marketplace products.
Product information includes:
- Product name
- Category
- Price
- Product condition
- Stock
- Location
- Product photos
- Description
- Seller information
Users can browse products and apply several filters to find relevant items.
Search and Filtering
The product discovery system supports filtering based on:
- Keywords
- Product category
- Price
- Product condition
- Location
This makes product discovery easier compared with unstructured selling through social media or messaging groups.
Wishlist
Users can save products they are interested in through the wishlist feature.
This allows buyers to revisit products later without having to search for them again.
Wishlist functionality is implemented through a dedicated Odoo module to keep marketplace responsibilities separated.
Buyer and Seller Chat
UniTrade provides an integrated communication system between buyers and sellers.
Users can communicate directly regarding a specific product without leaving the marketplace.
The chat system supports:
- Buyer-seller conversations
- Product-related conversations
- Image attachments
- Chat reporting
- Spam protection
- Seller presence information
This helps keep transaction-related communication connected to the marketplace context.
Payment Integration
UniTrade integrates Midtrans as its payment gateway.
Supported payment flows can include:
- Virtual Accounts
- QRIS
- E-Wallet payments
The backend communicates directly with the Midtrans API to create payment transactions and receives payment updates through webhook callbacks.
Payment webhooks are validated before the system updates the internal order status.
Escrow System
UniTrade implements an internal escrow workflow to improve transaction protection.
After a payment is successfully completed, the transaction value is recorded within the internal escrow flow instead of being immediately considered available for seller payout.
The general flow is:
- Buyer completes payment.
- Payment status is confirmed.
- Funds enter the internal escrow workflow.
- Seller processes the order.
- Buyer confirms the item has been received.
- Escrow becomes releasable.
- Seller requests payout.
- Administrator processes the payout.
This approach provides an additional protection layer for marketplace transactions.
Review and Rating
After completing a purchase, buyers can provide feedback about the purchased product.
The review system supports:
- Star rating
- Review comments
- Review tags
- Review photos
- Review reporting
- Helpful feedback
Reviews help future buyers evaluate products and sellers before making purchasing decisions.
Refund and Dispute
UniTrade also includes workflows for handling transaction problems.
The dispute module can manage situations involving:
- Refund requests
- Buyer evidence
- Seller responses
- Transaction disputes
- Administrative decisions
This workflow helps provide a more structured resolution process when a transaction does not go as expected.
Notification System
A dedicated notification module provides marketplace activity updates.
Notifications can be generated for events related to:
- Accounts
- Seller verification
- Orders
- Payments
- Reviews
- Chat
- Marketplace activities
This keeps users informed about important changes without requiring them to manually check every section of the application.
AI Customer Service
UniTrade includes an AI-assisted customer service module.
Google Gemini is integrated to provide an LLM-based customer service experience that can help users understand common marketplace information and support flows.
The architecture also separates the AI customer service functionality into its own Odoo module so it can be maintained independently from marketplace transaction logic.
Admin Dashboard
Administrators have access to operational features for managing the marketplace.
Administrative workflows include:
- Seller verification queue
- User management
- Seller management
- Payment monitoring
- Payout management
- Refund and dispute handling
- Review management
- Customer service
- Audit information
This allows UniTrade to support marketplace operations beyond the public-facing storefront.
Modular Odoo Architecture
UniTrade is developed using multiple custom Odoo modules.
Major modules include:
unitrade_themeunitrade_sellerunitrade_product_extunitrade_paymentunitrade_deliveryunitrade_disputeunitrade_chatunitrade_notificationunitrade_reviewunitrade_wishlistunitrade_cs_aiunitrade_admin
Each module separates specific business responsibilities while remaining integrated within the same Odoo application.
Frontend
The frontend extends the Odoo website system using:
- QWeb templates
- OWL components
- JavaScript
- Tailwind CSS
Custom interfaces were developed for areas such as:
- Homepage
- Marketplace
- Product details
- Authentication
- User profile
- Shopping cart
- Checkout
- Seller dashboard
- Chat
- Notifications
- Customer service
- Admin dashboard
Backend
Business logic is implemented using Odoo and Python.
Backend responsibilities include:
- Authentication workflow
- Seller verification
- Product management
- Payment processing
- Midtrans webhook handling
- Escrow management
- Seller payout
- Chat
- Reviews
- Notifications
- Disputes
- Administration
- External API integrations
PostgreSQL is used as the underlying database through the Odoo ORM.
External API Integration
UniTrade integrates several external services:
- Midtrans for payment processing
- Google Cloud Vision for student card OCR
- Google Gemini for AI customer service
- Mapbox for location and map-related functionality
API credentials are configured through Odoo system parameters rather than being embedded directly into application source code.
Deployment
The application supports containerized development and deployment using Docker Compose.
The development infrastructure includes:
- Odoo 17
- PostgreSQL
- Mail service
- pgAdmin
- Frontend asset builder
A production configuration is also prepared for running Odoo behind a reverse proxy and exposing the application through a custom domain.
Tech Stack
Odoo 17, Python, PostgreSQL, QWeb, OWL, JavaScript, Tailwind CSS, Midtrans API, Google Cloud Vision API, Gemini API, Mapbox, Docker, Docker Compose, and REST/Webhook integrations.
