The Food Donation Platform is a web application designed to tackle food waste by creating an efficient, user-friendly system that connects food donors with individuals and organizations in need. Our mission is to bridge the gap between surplus food and hunger, ensuring that edible resources reach those who can benefit from them most.
- Frontend: React, Next.js, Tailwind CSS
- Backend: Node.js, Express
- Database: MongoDB
- Additional Libraries: Supporting libraries for enhanced functionality
- Food Donation Submission
- Comprehensive Donation Search
- Direct Donor-Recipient Communication
- Secure User Authentication
- Real-Time Updates and Notifications
- Location-Based Matching (Google Maps Integration)
- Node.js (v16+)
- npm or Yarn
- MongoDB
-
Clone the Repository
git clone https://github.com/cryptonix21/LeftOverLove.git cd LeftOverLove
-
Install Dependencies
# Frontend installation cd frontend npm install # Backend installation cd ../backend npm install
-
Configure Environment
- Create
.env
files in both frontend and backend directories - Set up MongoDB connection string
- Configure third-party service credentials (Google Maps, etc.)
- Create
-
Run the Application
# Start backend server cd backend npm start # In another terminal, start frontend cd frontend npm run dev
Method | Endpoint | Description |
---|---|---|
GET | /api/donations |
Retrieve available food donations |
POST | /api/donations |
Submit a new food donation |
GET | /api/users |
User profile management |
POST | /api/auth |
User authentication routes |
The project supports comprehensive testing using:
- Jest for unit and integration testing
- Cypress for end-to-end testing
Run tests with:
npm test
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a 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
- Follow existing code style
- Write clear, concise commit messages
- Include tests for new features
- Update documentation as needed
This project is licensed under the MIT License. See LICENSE
file for details.
For questions or support, please:
- Open an issue in the GitHub repository
- Contact the maintainers directly
Made with ❤️ to reduce food waste and support communities