TechWiz 7 World Tech Championship
Theme: eGreen Basket
Category: End-to-End Web Solutions
SRS Reference: Software Requirements Specification Version 1.0
Local farmers markets connect communities with fresh, seasonal, and locally grown produce. However, shoppers often do not know in advance which farmers will attend, what inventory they will bring, or what prices will be charged. Farmers, in turn, have had no structured way to publicize weekly stock, gauge demand, or take reservations ahead of market morning.
MarketLink bridges this gap as an end-to-end web platform providing:
- Real-time weekly stock visibility for local growers.
- Location discovery via interactive OpenStreetMap with markers and pickup directions.
- Pre-order produce reservations for convenient in-person stall collection.
- Zero online transaction fees and no courier logistics — fully adhering to the local market ethos.
Pre-seeded accounts are configured for immediate evaluation:
| Role | Username | Password | Access Level & Description | |
|---|---|---|---|---|
| System Admin | admin |
admin@marketlink.local |
Admin@123 |
Full administrative oversight, farmer approval gate, customer moderation, market management. |
| Approved Farmer | greenvalley |
farmer@marketlink.local |
Farmer@123 |
Active stall vendor (Green Valley Organic Produce) with weekly stock, incoming orders, and reviews. |
| Approved Farmer 2 | sunshineorchard |
orchard@marketlink.local |
Farmer@123 |
Active stall vendor (Sunshine Orchards & Apiary) at Riverside Market. |
| Pending Farmer | newharvest |
newharvest@marketlink.local |
Farmer@123 |
Newly registered vendor awaiting Admin approval (products hidden from public catalog). |
| Customer | sarah_shopper |
customer@marketlink.local |
Customer@123 |
Pre-loaded customer with active and completed pre-orders, saved favorites, and review history. |
| Customer 2 | david_miller |
david@marketlink.local |
Customer@123 |
Secondary test customer account for multi-user reservation testing. |
- PHP: 8.2 or higher (with
pdo_sqlite,pdo_mysql,curl,mbstring,fileinfo,gd,opensslextensions enabled). - Composer: Dependency manager for PHP.
- MySQL / XAMPP (Optional for MySQL testing): ApacheFriends XAMPP 8.2+ or standalone MySQL.
Extract the submitted zip file or clone the repository to your local web directory:
cd MarketLinkcomposer installCopy .env.example to .env (if not already present):
copy .env.example .env
php artisan key:generateMarketLink comes configured with a self-contained SQLite database that runs immediately without configuring MySQL services:
php artisan migrate:fresh --seed- Open XAMPP Control Panel and start Apache and MySQL.
- Open phpMyAdmin (
http://localhost/phpmyadmin). - Create a new database named
marketlink. - Click Import and select the provided
marketlink.sqlfile in the project root directory. - In your
.envfile, update:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=marketlink DB_USERNAME=root DB_PASSWORD=
Start the local development server:
php artisan serveOpen your browser and visit: http://localhost:8000
- Pay at Pickup (No Online Payment Gateways): Strictly per SRS Section 1.5, pre-orders reserve inventory online, and payment is settled in person with the grower at the stall.
- In-Person Pickup Only (No Couriers): Customers select a pickup date and time-slot from the farmer's operating windows.
- Map Provider: OpenStreetMap (via Leaflet.js) is utilized to ensure 100% reliable, zero-cost geolocation markers without API billing restrictions.
- Approval Gate: Newly registered farmers cannot publish weekly inventory until an administrator grants approval from the Admin Dashboard.