SwapIt is a college marketplace web application that enables students to buy, sell, and exchange items within their college community. With SwapIt, students can easily connect with peers to trade books, electronics, and other essentials.
- User Authentication: Secure user registration and login.
- Item Listings: Post, edit, and delete items for sale or exchange.
- Search and Filters: Easily find items using keywords, categories, and filters.
- Chat Functionality: Real-time chat between buyers and sellers using Socket.IO.
- Notifications: Alerts for new messages, purchase requests, and approvals.
- Responsive Design: Fully optimized for mobile and desktop devices.
Visit the live application: SwapIt
SwapIt.and.14.more.pages.-.Personal.-.Microsoft.Edge.2025-01-07.21-04-58.mp4
SwapIt.and.14.more.pages.-.Personal.-.Microsoft.Edge.2025-01-07.21-05-57.mp4
SwapIt.and.14.more.pages.-.Personal.-.Microsoft.Edge.2025-01-07.21-13-26.mp4
bandicam.2025-01-08.07-02-33-232.mp4
- Frontend: React.js, Tailwind CSS
- Backend: Node.js, Express
- Real-time Communication: Socket.IO
- Database: MongoDB
- Deployment: Render
Follow these steps to set up SwapIt locally:
-
Clone the repository:
git clone https://github.com/vivek7156/Swapit.git cd Swapit -
Install dependencies:
npm install
-
Set up environment variables: Create a
.envfile in the root directory with the following variables:MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret NODE_ENV=development CLOUDINARY_CLOUD_NAME= CLOUDINARY_API_KEY= CLOUDINARY_API_SECRET=
-
Run the development server:
npm start
-
Open http://localhost:3000 in your browser to see the app.
Run the following command to execute tests:
npm test.
├── public # Static assets
├── src
│ ├── components # Reusable components
│ ├── pages # React pages
│ ├── styles # Tailwind CSS configuration
│ ├── utils # Utility functions
│ └── hooks # Custom hooks
├── server # Backend code
│ ├── routes # API routes
│ ├── models # Database models
│ ├── controllers# Route logic
│ └── sockets # Socket.IO logic
├── .env.example # Environment variable example file
└── README.md # Project documentation
SwapIt is deployed on Render. Any push to the main branch will trigger automatic deployments.
Contributions are welcome! Follow these steps to contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature-name
- Make your changes and commit:
git commit -m "Add a feature" - Push your changes:
git push origin feature-name
- Open a pull request.
For any inquiries or support, feel free to contact:
- Author: Vivek Singh
- Email: vivek
- GitHub: Vivek Singh
Disclaimer: SwapIt is a personal project created for educational purposes. Use it responsibly.