Welcome to the KnoxClubSharing Platform, an innovative solution designed to help clubs in colleges share resources and reduce costs. This platform enables clubs to list items they are willing to share and allows other clubs to borrow these items for their events, promoting a culture of collaboration and sustainability.
2024-05-26.20-24-24.mp4
In colleges, clubs often face limited funding, making it challenging to purchase everything needed for their events. The KnoxClubSharing Platform aims to address this issue by allowing clubs to reuse resources that other clubs already own. This not only helps in saving costs but also promotes the efficient utilization of available funds.
- Item Listing: Clubs can list items they are willing to share.
- Item Borrowing: Clubs can borrow items listed by other clubs.
- Approval System: A system to request and approve the borrowing of items.
- User Authentication: Secure login and registration for club members.
- Email Notifications: Automatic email notifications for various actions like item requests and approvals.
- Frontend: React, TypeScript, Tailwind CSS
- Backend: Node.js, Express
- Database: MongoDB
- Authentication: JWT (JSON Web Tokens)
- Email Service: Nodemailer
- Hosting: AWS & Vercel
To get started with the project, follow these steps:
-
Clone the repository
git clone https://github.com/Santoshpant23/KnoxClubSharing.git cd KnoxClubSharing -
Install dependencies
cd backend npm install cd ../ cd frontend/Club Resource Sharing npm install
-
Set up environment variables Create a
.envfile in the root directory and add the following:PORT=Your_Port mongoURI=your_mongodb_connection_string jwtSecret=your_jwt_secret email=your_email password=your_email_password adminEmail=your_admin_email adminPassword=your_admin_password saltRounds=some_number -
Run the application
npm run dev
Once the application is up and running, you can perform the following actions:
- Register and Login: Create an account and log in.
- List Items: Add items that your club is willing to share.
- Request Items: Browse items listed by other clubs and request to borrow them.
- Approve Requests: Approve or reject borrowing requests from other clubs.
- Manage Clubs: Oversee club registrations and activities.
- Monitor Items: Ensure items are being shared and borrowed appropriately.
We welcome contributions from the community! To contribute, please follow these steps:
- Fork the repository
- Create a new branch
git checkout -b feature-branch
- Make your changes
- Commit your changes
git commit -m "Description of changes" - Push to the branch
git push origin feature-branch
- Create a pull request
For any inquiries or support, please contact:
Santosh
- Email: spant@knox.edu
- College: Knox College
- Major: Computer Science
- Year: Freshman
Thank you for using the KnoxClubSharing Platform! We hope this tool helps your club save costs and promote a collaborative environment on campus.