A dedicated Buy-Sell platform exclusively for the IIIT Community, built with the MERN stack.
- Secure authentication with IIIT email validation
- Intuitive item search with category filtering
- Real-time shopping cart management
- Secure transaction system with OTP verification
- Comprehensive order tracking for both buyers and sellers
- User profile management
- Responsive and user-friendly interface
- MongoDB - Database
- Express.js - Backend framework
- React - Frontend framework
- Node.js - Runtime environment
- JWT - Authentication
- bcrypt - Password hashing
- Node.js (v14 or higher)
- MongoDB
- npm or yarn
- Clone the repository
git clone https://github.com/yourusername/treasure-trove.git
cd treasure-trove- Install backend dependencies
cd backend
npm install- Install frontend dependencies
cd ../frontend
npm install- Create a .env file in the backend directory with the following variables:
MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
PORT=5000- Create a .env file in the frontend directory:
VITE_BACKEND_URL=http://localhost:5000- Start the backend server:
cd backend
npm start- Start the frontend application:
cd frontend
npm startThe application will be available at http://localhost:3000
- Email-based registration (IIIT emails only)
- Secure login with JWT
- Persistent sessions
- Protected routes
- Advanced search functionality
- Category-based filtering
- Detailed item pages
- Shopping cart management
- OTP-based transaction verification
- Order history tracking
- Separate views for bought and sold items
- Real-time order status updates
- User profile customization
- Contact information management
- Order tracking
- Transaction history
- Password hashing using bcrypt
- JWT-based authentication
- Protected API routes
- Session management
- Input validation and sanitization
- Browse items
- Add to cart
- Place orders
- View order history
- Provide OTP for transaction completion
- List items for sale
- Manage listings
- Process orders
- Verify transactions with OTP
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the GNU GPLv3 License - see the LICENSE file for details.
This was an assignment for the course Design and Analysis of Software Systems Spring 2025 at IIIT Hyderabad.