Skip to content

The project is a hyper-local, college-centric e-commerce platform that allows graduating seniors to sell their used goods (like books, furniture, electronics) to junior students within the same campus. It supports both fixed-price sales and auction-style bidding.

Notifications You must be signed in to change notification settings

OPCODE-Open-Spring-Fest/UniLoot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

39 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

UniLoot πŸŽ“πŸ›’

Your Campus Marketplace. Sell your legacy, find your loot. image image image

License: MIT Contributions Welcome Build Passing


Table of Contents


Overview

UniLoot is a hyper-local, college-exclusive e-commerce platform built for seamless, secure, and affordable student-to-student selling. Graduating seniors can list used items (books, electronics, furniture, etc.), and juniors can find campus essentials either at a fixed price or by placing bids in auctions. The platform fosters trust via college email verification and reputation/rating mechanisms.


Core Features

  • Dual Product Listings
    • Fixed Price ("Buy Now"): Set by seller; juniors can purchase instantly.
    • Auction (Negotiable): 48-hour bidding, minimum increment β‚Ή100, seller can accept highest bid early.
  • User Authentication
    • Register/login with secure password protocol.
    • Mandatory college email verification for access.
  • Seller Dashboard
    • Create, edit, manage listings, track bids, finalize sales.
  • Buyer Experience
    • Browse, filter, search; add fixed-price items to cart or bid in auctions.
    • View and manage cart, bidding history.
  • Integrated Payments
    • Secure payment flow using Razorpay/Stripe, with platform commission if applicable.
  • Shopping Cart
    • Multi-item management and purchase.

User Roles & Journeys

πŸŽ“ Senior (Seller)

  • Onboards with college email.
  • Lists products for sale, chooses fixed or auction format.
  • Tracks and manages active listings and bids.
  • Can accept a bid or let the auction finish.
  • Receives funds when sale is confirmed.

πŸ§‘β€πŸŽ“ Junior (Buyer)

  • Registers with college email.
  • Searches, browses, and filters all listings.
  • Adds fixed-price items to cart and makes instant purchases.
  • Places bids on auction items, receives live outbid notifications.
  • Pays for items and arranges pickup with seller.

Platform Enhancements

  • User Profiles: Rate and review system builds trust for future transactions.
  • Direct Messaging: Secure in-app chat for questions, logistics, and negotiation.
  • Advanced Categories & Search: Find items by type, price, or sale type.
  • Escrow System: Funds released only after buyers confirm item receipt.
  • Notification System: Real-time email/app alerts for outbidding, sales, auction results, and more.
  • Wishlist: Buyers can save and revisit interesting listings.
  • Admin Dashboard: Site management, dispute resolution, and analytics.

Tech Stack

Layer Technology Suggestion
Frontend React.js (w/ Next.js SSR), or Vue.js
Backend Node.js (Express.js), or Python (Django)
Database PostgreSQL (preferred) or MongoDB
Real-time Socket.IO or WebSockets (for bids & chat)
Payments Razorpay or Stripe (API-integrated)
Email Nodemailer, SendGrid, or similar
Deployment Docker, Vercel/Netlify for frontend, VPS/cloud

Folder Structure

UniLoot/
β”œβ”€β”€ .github/                 # GitHub specific configurations
β”‚   β”œβ”€β”€ workflows/           # CI/CD workflows
β”‚   β”œβ”€β”€ ISSUE_TEMPLATE/      # Issue templates
β”‚   └── Contributor_Guide/   # Contribution guidelines
β”œβ”€β”€ frontend/                # Frontend application (to be created)
β”œβ”€β”€ backend/                 # Backend application (to be created)
β”œβ”€β”€ docs/                    # Documentation (to be created)
β”œβ”€β”€ CODE_OF_CONDUCT.md       # Code of conduct
β”œβ”€β”€ README.md                # This file
└── package.json             # Node.js dependencies

Getting Started

Prerequisites

  • Node.js (v20 or higher)
  • npm or yarn
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/OPCODE-Open-Spring-Fest/UniLoot.git
    cd UniLoot
  2. Install dependencies

    npm install
  3. Set up commit hooks

    npm run prepare

Development

Make sure your commit messages are clear and descriptive.

# Example commit messages
git commit -m "Add user authentication feature"
git commit -m "Fix payment gateway issue"
git commit -m "Update README with setup instructions"

GitHub Actions Workflows

🏷️ Label Checker

  • Validates that pull requests have required labels before merging
  • Required labels (one from each group):
    • Type: Type:Easy, Type:Medium, or Type:Hard
    • Semver: Semver:major, Semver:minor, or Semver:patch
    • Status: PR:Accept
  • Runs on: Pull request opened, edited, synchronized, reopened, labeled, or unlabeled events

All checks must pass before a pull request can be merged.


Contributing

We welcome contributions from the community! πŸŽ‰

Please read our Contributing Guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes.

Quick Contribution Steps

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes with clear and descriptive commit messages
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Make sure to:

  • Follow the Code of Conduct
  • Write clear and descriptive commit messages
  • Add appropriate labels to your PR (Type, Semver, and PR:Accept)
  • Ensure all GitHub Actions checks pass
  • Update documentation as needed

Project Roadmap

Phase 1: Foundation (Current)

  • Repository setup
  • CI/CD pipeline configuration
  • Database schema design
  • API architecture planning

Phase 2: Core Development

  • User authentication system
  • Product listing functionality
  • Bidding system implementation
  • Payment gateway integration

Phase 3: Enhancements

  • Real-time notifications
  • In-app messaging
  • User rating and review system
  • Admin dashboard

Phase 4: Launch

  • Beta testing
  • Bug fixes and optimization
  • Documentation completion
  • Production deployment

Contact & Acknowledgments

Maintainers

This project is maintained by the OPCODE community at IIIT Bhagalpur.

Acknowledgments

  • Thanks to all contributors who help make UniLoot better!
  • Built as part of the Open Spring Fest initiative
  • Special thanks to the open-source community

Support


Made with ❀️ by the OPCODE Community

GitHub stars GitHub forks GitHub issues GitHub pull requests

About

The project is a hyper-local, college-centric e-commerce platform that allows graduating seniors to sell their used goods (like books, furniture, electronics) to junior students within the same campus. It supports both fixed-price sales and auction-style bidding.

Topics

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6

Languages