AmanNegi / FreshNest

A platform that connects local producers directly with consumers seeking fresh produce.
https://fresh-nest.netlify.app
GNU Affero General Public License v3.0
22 stars 36 forks source link
dart flutter hacktoberfest javascript mongodb nodejs open-source react

FreshNest

✨Freshness delivered, Farmers empowered✨

License: AGPL


FreshNest is an online marketplace that connects local vegetable sellers and farmers directly with customers who are seeking fresh and nutritious produce. We believe in fostering a direct connection between producers and consumers, empowering local communities, and promoting sustainable farming practices.

With FreshNest, you can explore a wide range of locally grown vegetables, sourced directly from farmers in your area. By eliminating intermediaries, we ensure that you receive the freshest and highest-quality produce while supporting local farmers and their livelihoods.

Why Choose FreshNest? 🤷‍♂️

How we built it? 🤷

To deliver a user-friendly web interface, the project uses a Node.js & Express.js backend for server-side operations, while the frontend utilizes React & TailwindCSS. A mobile client was developed using Flutter for greater accessibility.

The app has two user types: customers and farmers. Customers can buy products, track orders, and leave feedback. Farmers can list products, manage inventory, and communicate with customers. Admin view is available for content moderation.

For Customers:

For Farmers:

Untitled

The project is maintained to industry standards, with separate branches for different tasks, comprehensive documentation, and beginner-friendly issues to give newcomers hands-on experience with the frameworks (Flutter/Express/ReactJS). For deployment, we evaluated several platforms and chose Netlify for the website and Adaptable.io for the backend.

Architectural Patterns and Code Organization 📂🗃️

While building FreshNest, we looked through multiple architectural patterns and decided to go with a mutation of MVP, tailoring it to our specific needs. In the repository you'll find frontend code either of Flutter/React divided into application and presentation folders. This aligns with the separation of concerns principle promoted by MVP. Here's what each folder contains:

Application Folder:

By separating these concerns, the code becomes more maintainable, reusable, and easier to test. It also promotes a clean separation between the data and business logic (application folder) and the visual representation of that data (presentation folder).

Other Decisions 🐳

Enforcing Consistent Code with ESLint 🧹

Documentation 📃

Streamlined Development with Scripts 📜

Tech Stack 🛠️

Technology Tech Stack Version
Mobile Flutter 3.16.9
Web React 18.2.0
Backend NodeJS 20.11.1
Database MongoDBAtlas mongodbatlas

Contributing 🤝

Feel free to refer to our contribution guide at CONTRIBUTING.md for more details on how to contribute.

Contributors 👨‍💻

We would like to extend our heartfelt thanks to all the contributors who have dedicated their time and effort to make FreshNest a better platform. Your contributions are invaluable and have helped us improve our platform. We truly appreciate your hard work and commitment to making FreshNest a success. Thank you for your contributions and for being a part of our community!

License 🛡️

We believe the AGPLv3 best supports our commitment to open-source development and fosters a collaborative atmosphere where everyone can contribute and benefit from the project's growth.

Distributed under the AGPLv3 License. See LICENSE.md for more information.

We've chosen to license this project under the GNU Affero General Public License version 3 (AGPLv3) to promote open-source development and collaboration. Here are the key reasons for this decision:

Support 🙏

Currently, the best way to support our project is by leaving a ⭐️. Don't forget to leave a star.