Welcome to KNIT KART : KNIT's Arcade for Recycled Treasures, the innovative solution designed to enhance the living experience of hostlers by facilitating the seamless exchange of various items. Our major project addresses the common challenges faced by individuals residing in hostels who often find themselves with surplus belongings they no longer need, while simultaneously seeking items they do require. KNIT-KART serves as a platform to connect users with similar needs, fostering a sustainable and collaborative environment within hostel communities.
-
Comprehensive Item Categories
KNIT-KART covers a wide array of categories, including books, notes, electronics, household items, sports equipment, wearables, kitchenware, study equipment, furniture, and more. This ensures that users can exchange a diverse range of items, making the platform versatile and accommodating for various needs.
-
User-Friendly Ad Posting
Our platform offers a simple and user-friendly interface for posting advertisements. Users can easily create ads specifying the items they want to exchange and mention the items they are looking for in return. This feature ensures clarity and transparency in every exchange.
-
Secure Communication
Privacy and security are paramount on KNIT-KART. The platform facilitates secure communication between users, allowing them to discuss the details of the exchange without compromising their personal information.
The primary goal of KNIT-KART is to create a sustainable and collaborative environment within hostel communities by addressing the common problem of surplus belongings. By providing a platform for the exchange of items ranging from course materials to everyday essentials, KNIT-KART aims to reduce waste, promote resourcefulness, and foster a sense of community among hostlers.
Join KNIT-KART today and embark on a journey of collaborative living, where your surplus becomes someone else's treasure!
List the technologies and tools required for the frontend development.
- React.js
- Description: A JavaScript library for building user interfaces. Link: React.js
- Tailwind CSS
- Description: A utility-first CSS framework for rapidly building custom user interfaces. Link: Tailwind CSS
- React Router
- Description: Declarative routing for React.js applications. Link: React Router
- Context API
- Description: A way to share global state in a React application. Link: React Context
- FIGMA
- Description: Collaborative interface design tool used for creating UI/UX designs. Link: FIGMA
List the technologies and tools required for the backend development.
- Express.js
- Description: A web application framework for Node.js, designed for building web applications and APIs. Link: Express.js
- Firebase (BaaS)
- Description: A backend-as-a-service (BaaS) platform that provides various services for mobile and web application development. Link: Firebase
- MongoDB
- Description: A NoSQL database for storing and retrieving data. Link: MongoDB
- Mongoose
- Description: An ODM (Object Data Modeling) library for MongoDB and Node.js. Link: Mongoose
- MongoDB Atlas/Compass
- Description: MongoDB Atlas for cloud-based MongoDB deployments, and MongoDB Compass for a graphical user interface for MongoDB. Link: MongoDB Atlas / MongoDB Compass
- Postman
- Description: A collaboration platform for API development, including API testing. Link: Postman
- Render / Cyclic
Follow these steps to set up and run KNIT-KART locally on your development environment.
-
Install Node.js and npm: If you haven't already, download and install Node.js, which includes npm (Node Package Manager).
-
Clone the Repository:
git clone https://github.com/Rahul-K-Saini/knit-kart.git
-
Navigate to Frontend Directory:
cd knit-kart/frontend
-
Install Frontend Dependencies:
npm install
-
Run the Frontend:
npm run dev
This command will start the development server and open KNIT-KART in your default web browser.
-
Install Node.js and npm: Ensure Node.js and npm are installed as mentioned above.
-
Navigate to the Backend Directory:
cd ../backend
-
Install Backend Dependencies:
npm install
-
Configure Firebase:
- Go to the Firebase Console.
- Create a new project for your application.
- In the Firebase project settings, navigate to "Project settings."
- Copy the Firebase configuration details provided for your web app.
- In the Firebase Console, navigate to the "Authentication" section to set up authentication methods.
- In the Firebase Console, navigate to the "Firestore Database" section to set up Firestore for your project.
- Configure MongoDB:
- Install MongoDB on your local machine by following the instructions on the official MongoDB installation guide.
- Alternatively, use MongoDB Atlas for cloud-based hosting. Follow the MongoDB Atlas setup guide to create a cluster.
- If using a local installation, no additional steps are required. If using MongoDB Atlas, obtain the connection details from your Atlas dashboard.
- Set Environment Variables:
- Create a
.env
file in the backend directory and set the following variables:
PORT=3001
FIREBASE_API_KEY=<your-firebase-api-key>
MONGO_URI=<your-mongo-uri>
- Run the Backend
npm start
This command will start the backend server.
Once KNIT-KART is up and running on your local environment, follow these steps to navigate through the application and make the most of its features:
- Homepage:
- Upon launching the application, you'll land on the homepage. Here, you can explore the latest item listings, featured exchanges, and trending categories.
- Navigation:
- Use the navigation bar to explore different categories such as books, electronics, sports items, and more. Click on a category to view specific item listings within that category.
- Viewing Listings:
- Click on any listed item to view details, including the item description, images, and the user who posted the ad.
- Posting Ads:
- To post your own ad, click on the "Post an Ad" button. Provide details about the item you want to exchange and the items you're looking for in return. Include clear descriptions and images to attract potential exchanges.
- Communication:
- Use the built-in messaging system to communicate with other users interested in your items. Discuss exchange details, arrange meetups, or clarify any queries.
- Additional Tips:
- Keep your item listings clear and accurate to attract more potential exchanges.
- Regularly check your matches and messages for timely responses.
- Participate in community discussions and forums to enhance your KNIT-KART experience.
- Contribute to the Community:
- KNIT-KART thrives on user participation. Contribute to the community by sharing your surplus items, engaging with other users, and providing feedback.
Feel free to explore the various features and functionalities of KNIT-KART. Whether you're looking for specific items or eager to exchange your belongings, KNIT-KART provides a platform for a seamless and collaborative experience within your hostel community.
Thank you for considering contributing to KNIT-KART! Your involvement helps us enhance the platform and create a better experience for all users. Please take a moment to review the guidelines below before getting started:
-
If you come across any bugs, issues, or have suggestions for improvements, please feel free to open a new issue. When reporting an issue, include a detailed description of the problem, steps to reproduce, and the expected behavior.
-
We welcome feature requests that align with the project's goals. To submit a feature request, open a new issue and provide a clear description of the new functionality you'd like to see. Discuss its potential benefits and how it aligns with the project's purpose.
-
If you're interested in contributing code to KNIT-KART, follow these guidelines:
- Fork the repository and create your branch from
main
. - Ensure your code follows the project's coding conventions and standards.
- Test your changes thoroughly.
- Make sure your commit messages are clear and descriptive.
- Open a pull request with a detailed explanation of your changes.
- Fork the repository and create your branch from
-
- Follow consistent coding styles, as demonstrated in the existing codebase.
- Use meaningful variable and function names for clarity.
- Keep the code modular and well-organized.
-
Participate in discussions and share your ideas in the GitHub Discussions section. Engage with the community to brainstorm new features, address concerns, or provide feedback.
We appreciate your contributions and look forward to collaborating with you to make KNIT-KART even better!
We extend our appreciation to the following:
- React.js: For the robust front-end framework.
- Express.js: Powering our efficient backend.
- Firebase: Providing real-time database and authentication solutions.
- MongoDB and Mongoose: Facilitating data management.
- Tailwind CSS: Simplifying styling with utility-first approach.
- GitHub Community: For open-source collaboration.
- Contributors: Thank you to Arshil Amaan Ansari, Shantanu Saini and Rakesh Kumar Yadav who contributed to KNIT-KART.
Your support and the efforts of the open-source community have been instrumental in shaping KNIT-KART.
For any inquiries, feedback, or support related to KNIT-KART, feel free to reach out through the following channels:
-
Email:
- General Inquiries: arshil.22709@knit.ac.in
- Technical Support: rahul.22742@knit.ac.in
-
Social Media:
Connect with our team members
-
Community Discussions:
- Join the discussions in our GitHub Discussions section for project-related conversations and community engagement.
We value your input and are here to assist you. Don't hesitate to reach out; your feedback is essential to the ongoing improvement of KNIT-KART.