Project Info
This project did not submit a demo video on Devpost.
Inspiration
Supermarkets are filled from floor to ceiling with unhealthy foods, made cheap by unsafe pesticides, unsustainable agricultural practices, and unsanitary factory production, all while the grocery stores pushing these products take a massive cut of the profits. In America, people feel that organic foods and a healthy lifestyle are out of reach. Farmer's markets typically happen once a week for only half the day, consumers don't know what food will be there, and they charge farmers upwards of $200 to have a booth. Farm-to-table services are convenient for consumers, but logistical problems like order tracking and last mile distribution can be too much responsibility for farmers to tackle, often causing them to outsource logistics and introduce yet another middle-man, with more fees.
What it does
Basket provides a solution, with the consumer convenience of farm-to-table services, and the simplicity that farmer's markets provide for farmers. Basket does this through the power of shared deliveries, a business model that has taken over Chinese e-commerce, but has yet to make its way to the west. When you open the app, you can scroll through food sold by farms near you and buy what you want. Then, the app combines your order with the orders of people near you, and sends one bulk order to be fulfilled by the farm. The farm then ships the order to one of the customers who volunteers as a pickup point. This address is then sent to the other customers who can pick up their order. This provides consumers with the convenience of online shopping, knowing exactly what food they're getting and how much they're paying, while providing farmer's the simplicity of farmer's markets, with only one delivery to make. The high costs of delivery services and farmer's markets fees are eliminated, and the delivery fees needed by the farmer are split among customers for the bulk order.
How we built it
The backend consists of a PostgreSQL database holding products, orders, and all other data. A Python server powered by FastAPI provides the algorithms to combine orders and determine prices. The frontend is written using React + Vite, using Tailwind for styling and Auth0 for authentication.
Challenges we ran into
Managing deployment for both backend and frontend were difficult, as well as the SQL queries to manage interactions between orders.
Accomplishments we're proud of
We're proud of coming up with a sound business model, and using our different specializations to build an e-commerce store in a limited time.
What we learned
We learned about the costs incurred by farmers in the agricultural process from top to bottom, and how money gets distributed through the grocery store system.
What's next
In the future, Basket could partner with local grocers to provide delivery points. This will help with privacy concerns for the pickup point volunteers, and build a positive relationship between Basket and grocers, who will receive traffic from Basket customers.
This repository has no readme, or GitHub could not be reached.
Analysis
View
Metric
- 25
- 13
- 8
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- FastAPIIn code
- HTMLIn code
- JavaScriptIn code
- PostgreSQLIn code
- PythonIn code
- ReactIn code
- Tailwind CSSIn code
8 of 8 appear in the indexed code.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
33 KB
Source files
24
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
will-hou/basket
98 files · 10.7 MB · @ 5aeb496
Structure
Interface
11 files · 11%Screens, components and styles rendered to the user.
Application logic
10 files · 10%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- JavaScript63%
- Python25%
- CSS9%
- Markdown1%
- HTML1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
backend/requirements.txt
pypi · 19- annotated-types
- anyio
- click
- fastapi
- h11
- httptools
- idna
- psycopg2
- pydantic
- pydantic_core
- python-dotenv
- PyYAML
- sniffio
- starlette
- typing_extensions
- uvicorn
- uvloop
- watchfiles
- +1 more
frontend/package.json
npm · 17- @react-oauth/google
- framer-motion
- prop-types
- react
- react-dom
- react-router-dom
- +11 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.