Organic Option is an ASP.NET Core 6 web application designed to facilitate direct farming, allowing customers to buy fresh products directly from local farmers without the need for a middleman. This platform connects Farmers, Riders, Customers, and Admins in a seamless environment, ensuring the delivery of fresh produce while supporting local agriculture.
- Customer to FarmerShop: Customers can directly purchase products from local FarmerShops, eliminating the middleman.
- Category-Based Products: Shops are categorized by the types of products they offer, making it easy for customers to find what they need.
- Location-Based Shopping: Shops are associated with latitude and longitude, allowing customers to find nearby FarmerShops.
- Farmer Blog: Farmers can share blogs related to farming tips, news, and more.
- Daily Price List: A daily price list is available to inform customers of current product prices.
- Payment System: Integrated with Stripe for secure and convenient payments.
- Notification System: Real-time notifications for customers, riders, and farmers.
- Email Verification: Secure registration process with email verification.
- Google Authentication: Quick and easy sign-in with Google.
- Admin Panel: Comprehensive admin panel to manage the platform, including shops, users, blogs, and more.
- .NET 6 SDK
- SQL Server
- Visual Studio 2022 (recommended IDE)
-
Clone the repository:
git clone https://github.com/aminul-islam-niloy/Organic-Option.git cd Organic-Option
-
Set up the database:
- Update the connection string in
appsettings.json
to point to your SQL Server instance.
"ConnectionStrings": { "DefaultConnection": "Server=AMINUL\\SQLEXPRESS;Database=TheOrganicOption;Trusted_Connection=True;MultipleActiveResultSets=true" }
-
Run the following command to apply migrations and set up the database:
dotnet ef database update
- Update the connection string in
-
Run the application:
dotnet run
-
Access the application:
Open your browser and go to
https://localhost:5001
(or the port specified in yourlaunchSettings.json
).
- Models: Contains the data models for the application, such as
Farmer
,Customer
,Rider
,Admin
,Product
,Order
, etc. - Area: Handles incoming HTTP requests and returns responses, managing the application’s logic for different user roles.
- Views: Contains Razor views for rendering the UI.
- Services: Custom services for handling business logic, such as payment processing, notification sending, etc.
- Data: Contains the DbContext and migration files for database management.
Customers can search for nearby FarmerShops based on their current location (latitude and longitude). This is achieved using geolocation APIs and spatial queries in SQL.
Integrated with Stripe, allowing customers to make secure payments for their purchases directly through the platform.
Real-time notifications are sent to customers, farmers, and riders using SignalR, ensuring everyone is informed about their activities.
Farmers can create blog posts to share knowledge, while the daily price list keeps customers informed of current prices for fresh products.
- Email verification is implemented for secure user registration.
- Google authentication is available for easy login.
- Role-based access control ensures that only authorized users can access specific features.
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes.
- Submit a pull request with a description of your changes.
This project is licensed under the MIT License - see the LICENSE file for details.
For any questions or support, please reach out to Aminul Islam Niloy.
Thank you for using Organic Option! Supporting local farmers and delivering fresh produce directly to your doorstep.