
Show HN: Open-Source Food Delivery and Local Shopping Platform - sumeetk
https://github.com/SumeetMoray/Nearby-Shops-End-User-Android-app
======
kvee
We open sourced our old startup
[https://crunchbutton.com](https://crunchbutton.com) too--included iPhone and
Android apps, a whole suite of tools to support twilio customer service,
driver scheduling, sending orders to restaurants a bunch of different ways,
smart courier order routing, automated chargeback disputing, and a whole lot
of other custom stuff we built for the business. It's a bit old now, but feel
free to use it if you like.

~~~
dillonmckay
Is there more detail to the story of your startup we can read about?

I like movies like startup.com and e-dreams.

~~~
mtmail
[https://www.failory.com/interview-failure](https://www.failory.com/interview-
failure) collects stories of such startups.

------
hutch120
I wonder if this type of app is a good use case for a P2P distributed app.
E.g. Dat style? I see a lot of P2P that is basically good for distributing
your favorite cat photos ([https://github.com/beakerbrowser/dat-photos-
app](https://github.com/beakerbrowser/dat-photos-app)) but maybe this is
actually a useful app for P2P. Thoughts?

~~~
sandeepc
My thoughts exactly. The market discovery service mentioned could be done off
a distributed network. Making it P2P could also enable a host of delivery
Entreprenuers to participate in the delivery in a seamless way with the
shopkeeper or the customer setting a delivery bounty.

~~~
dboreham
That sounds like a problem requiring consensus hence not implementable with
p2p tech. It would need a blockchain or something similar.

------
alexhektor
What's the tech stack behind the website? Just a bootstrap template?

How did you make the flat-art pictures (e.g. the one including the MIT and CC
logos?) Do you have a good, preferably 'free' repository/website for those
flat-art humans?

~~~
sumeetk
Its just a simple html bootstrap website ... built using this theme
[https://htmlstream.com/templates/front/](https://htmlstream.com/templates/front/)

illustrations are taken from this website :
[https://undraw.co/](https://undraw.co/)

~~~
fefb
Cool

------
wwweston
Walking into many busy restaurants these days and seeing an array of devices
functioning as displays for different delivery platforms convinces me that
some kind of common order bus/platform needs to happen.

At some restaurants, the simultaneous parallel incoming orders means they miss
yours. At ones where they don't, there's the imposed cost of someone paying
close attention to all of them. More often than not, this is the cashier,
which means if you decide to walk in and order in person like some barbarian
from 2010, you are waiting in an invisible line not just for your food but for
any kind of attention.

The likes of Doordash and Seamless and Grubhub don't seem properly
incentivized to solve this problem -- sure, they might care if order
efficiency or fulfillment suffers and users have a directly bad experience,
but they may not demand anything from their product team more complicated a
rating system punishing providers. And they don't want a common platform; they
want to _be_ the platform.

~~~
sumeetk
Yes they all want to be the platform ... this is a kind of issue that is
common with proprietary commercial projects ...

And may be an area where Open-Source could be of any help !

------
technotarek
Very interesting. My most immediate question would be whether or not your
platform has gained traction in any specific geographic locations? How many
stores are participating and what percentage of that local market do they
represent?

We've been working in a similar space (hyperlocal for furniture, home decor
and fashion) for about 5 years with ATTIC
([https://attic.city](https://attic.city)). The premise of our work runs a bit
contrary and challenges a platform like this -- the primary issue is store
willingness to participate in yet another platform.

Putting grocery stores aside, most other retail stores have too much to do and
manage on the tech/marketing front: facebook, instagram, twitter, pinterest,
snapchat etc. Add on their own website with its own e-commerce platform plus
several other shopping or delivery platforms (etsy, posh etc) -- it's too
much. As a result we've ended up with extremely fragmented marketplaces and
none do a good job of showing a comprehensive view of your local shopping
options. For example, some restaurants I like are on X. Others are on Y.
Others still are on Z.

Like I said, we came at this problem from a different angle. We're indexing
local stores to build the platform that actually has a comprehensive view of a
local market -- and to fill in the gap that services like Google Shopping do a
poor job of representing. It's slightly slower out of the gate as we do some
preliminary research for each city/market. But we've launched ATTIC in 9 major
US markets so far and expect to be at 15 by year's end.

As an aside, do you know where you first came across the term hyperlocal? I
wonder who coined it. We've been using it as well, but we're certainly not the
first.

~~~
bardworx
I am not affiliated with this project but can give you some insight as I've
spent a significant time in hospitality industry and build a delivery system
for a QSR.

Most restaurants that focus on delivery are QSRs. While full service does
deliver, usually, its not their main focus.

Within the QSR space, brands are mostly broken down by number of locations
which influences their decision making with regard to their technology. Most
established brands in Tier 1 markets do focus on technology heavily: its a
significant revenue stream. However, their approach differs.

The McDs, Penera, Panda Express, Chipotle of the world usually stick to only
one platform. The focus more on integration of Delivery, POS, and inventory
more than covering significant amount of platforms. Some decide to use an off
the shelf solution while others use a 3rd party delivery system on top of
whatever their POS provider brings. There is significant complexity in this
paragraph and they all approach it differently but the gist is the same.

Smaller brands that have ~1,000 locations or less begin to splinter into 2
groups: some focus on similar integration as above while others will support
multiple platforms via several tablets. Since the revenue stream is
significant, they focus on Ops to get everything in line and have gotten to be
extremely good at managing/streamlining the process. Its not perfect but it
works.

Brands between 20-500 locations will also manage multiple platforms but some
invest into "aggregate" providers. Such companies will build out a unified
backend for the location and integrate with multiple marketplaces (Grub, Door
Dash, proprietary, etc.) to unify the system. Usually, they use a 3rd party
for the admin that already has the infrastructure (OLO comes to mind). While
in this approach streamlines operations, its quite costly as they charge for
volume of orders.

Brands with less than 20 locations usually resort to just using 3-5 tablets on
their walls for orders.

As a disclaimer, these are generalities and there are other factors that
influence decision makers such as franchising percentages, Tier 1/2/3 markets,
and their overall approach.

So to answer your question: most brands are currently moving to aggregate
platforms or manage fewer platforms in order to streamline their operations.
Large brands also use Yext to streamline their on-line marketing presence or
other providers.

~~~
technotarek
Thanks. Very interesting.

I gather your response was mostly in reference to food delivery services. The
OP was suggesting this as a platform for more than food, which is what I'm
primarily interested in. It's retail shops that are less experienced with and
newer to the idea of everything needs to be delivered right away that I'm
curious about. Having said that, our original focus was on furniture stores
who have always had to deal with fulfillment and delivery. The type of
delivery is very different in nature though -- a 200lb sofa vs a 16oz burrito!

Thanks again.

~~~
sumeetk
Yes it is more than just a food delivery platform ... it was originally
designed for local shopping ... but i discovered that it can be used for food
delivery as well !

Its primarily designed for fruits, vegetables, grocery, but you can use it for
anything ... we are currently adding filtering by item specifications ...
which might be more useful in your use-case ...

Currently The delivery is provided by the shop-owner ... ... there is orders
inventory ... where the shop-owners can keep track and update the order
progress like if its packed and ready for delivery ...

Its just another e-commerce platform which is more focussed for local shopping
!

Hope that helps !

------
Swinx43
Sorry to be that guy that points out spelling mistakes. I believe you wanted
to say “commercial” instead of the “commertial” that you have.

~~~
Steve0
Be the change you want to see in the world:
[https://github.com/SumeetMoray/Nearby-Shops-End-User-
Android...](https://github.com/SumeetMoray/Nearby-Shops-End-User-Android-
app/compare/master...HansF:patch-1)

~~~
darklajid
Pull requests for typos ('Hyerlocal' is another one, 'Migeration ', online-to-
offline vs Offline-to-Online vs - in the image - Online2Offline) feel like
overkill to me though?

And I currently see three PRs for the same 'commercial' typo..

~~~
sumeetk
thank you ... for the PRs ... i will check that out !

------
ashhimself
You have a \ at the bottom left of your website. Nice gesture to open source,
good on you!

~~~
beefield
Apologies for ignorance, but what's this about? Not easy to google...

~~~
Cederfjard
It's literally just that the character "\" is visible in the bottom left
corner off the page on [https://nearbyshops.org](https://nearbyshops.org),
presumably by mistake.

~~~
beefield
Ah. I read the original comment like having the backslash is the nice gesture,
some new meme or something like that...

------
bardworx
I haven’t read the code yet so I apologize if this was already addressed.

Do you already have logic in place to deal with different municipality taxes?

For example: in Chicago, you have an additional tax on non-juice carbonated
beverage in addition to your regular sales tax plus a locality tax, depending
on neighborhood. In other states there are also “sugar tax”. In NYC, some
items are tax exempt post-production.

I’ve actually worked on food delivery product before and would be glad to
contribute.

~~~
sumeetk
Right now we assume that the Price of the Item includes the taxes ...
therefore we haven't added taxes in the end-user bill. We add delivery fee and
market fee and calculate the Net-Payable.

But as you say ... if its needed we can add taxes ... in the bill ... and its
not so much difficult to integrate that ...

I will be glad to see more contributions to the project ... i believe one of
the best advantages of open-source is that people can share and collaborate
openly !

~~~
wott
> if its needed we can add taxes ... in the bill

You should check the related laws to produce compliant bills.

I don't know about the US and its various state laws, but in my country, such
pieces of informations are mandatory on bills. Well, there are different forms
of bills, and also there are different requirements depending on the amount
charged; but anyway all these are things you should study in order to publish
a piece of software which produces bills which conform to local laws. Some
governments can get really picky when it comes to the main or a major source
of their income (VAT and such other taxes) and possible fraud indicators.

------
Zequez
This is very interesting, I'm glad the idea of online local shopping is
gaining traction in the collective mind. I've been working on similar things
although with a completely different stack (JAM & PWA instead of a native
app), and with a slightly different intention in mind (my idea is for the
local app to finance local NGOs), and I want to start with the vegan market,
financing local vegan activism.

~~~
sumeetk
Your idea is also a good one ... funding local NGOs is also an essential
initiative ... Yes i agree ... local business needs a boost !

Well a PWA can be built for Nearby-Shops also ... it might be good to have !

------
khnov
Thanks for sharing ! This could be very useful for bootstrapping businesses.
One could spend months coding this.

~~~
sumeetk
thank you ... we thought its good to release it open-source so that people
don't have to spend time building software and they can get straight to
building business ...

More-over because of being open-source it can also help in the development ...
and it can help the new developers learn from the existing source code !!!

------
duncanfwalker
Reminds me of Open Food Network, which seems to have quite an active community
making contributions
[https://github.com/openfoodfoundation/openfoodnetwork](https://github.com/openfoodfoundation/openfoodnetwork)

~~~
sumeetk
yes it is similar and the fact that both are non-profit makes it similar in
the way project organization is done !

But nearby shops includes shopping for other stuff also !

------
sockpuppy
The legal nuances, tax variations and jurisdiction level laws that need to be
implemented is not trivial and requires significant domain expertise - where
is this going to come from?

------
IloveHN84
What about the backend?

~~~
sumeetk
Backend Source code is also open-source under MIT License
[https://github.com/SumeetMoray/Nearby-Shops-
API](https://github.com/SumeetMoray/Nearby-Shops-API)

Source code for Entire Project (Shop-Owner app and Admin app) is available on
github ... Under MIT license ... free for commercial use

[https://github.com/SumeetMoray/Nearby-Shops-End-User-
Android...](https://github.com/SumeetMoray/Nearby-Shops-End-User-Android-
app#source-code-for-shop-owner-admin-app-and-server-side)

------
daRealDodo
I struggle to understand: who will deliver the groceries?

~~~
sumeetk
THe delivery of the groceries will be done in two ways

1\. It can be done by the shop-owner 2\. It can be done by the Market Owner -
through employed delivery people

The shop-owner app contains delivery dashboard and orders inventory where you
can track orders with their status like when the order is packed and ready for
delivery and such !

Feel free to ask if you have any more questions !

~~~
rohan_shah
Can we add delivery person and their live location? Can it notify the nearest
delivery person?

~~~
sumeetk
yes you can add delivery person and there is a special dashboard for delivery
person ... live location tracking will be SURELY available in future releases
!

------
nprateem
Hi hope this will be called Open Sauce.

------
rufi
I wanted to contribute in the backend project ...but when I opened the
project..the basic coding standards are missing..i know this is open source
and can be fixed but all over the files i see commentated code the logging is
out of place... I work in a Big European bank so maybe i was hoping for a more
matured code but this code needs a fresh look...

Appreciate your efforts and thus some pointers to start: 1\. Add liquibase
into your project. 2\. Add logging into a project. 3\. Use Spring Boot if
possible 4\. Use an ORM framework like JOOQ may be?

Have a look at Jhipster, they are pretty good with their bootstrap projects.

~~~
sumeetk
yes ... you are correct .. the code on the backend side ... and also for
Admin-app - needs refactoring ... i was planning that ... its just the matter
of when i find some time !

I wont recommend anyone to contribute (for backend and admin app) until the
refactoring is done !

I had been searching for some good project - Example for backend code ... but
i was not really able to find one for Java ... for building REST API !

It was quite a struggle to work ... due to lack of proper tutorials and lack
of good example projects ... for backend ...

But anyway ... your suggestions are very useful ... using Spring Boot would
definitely improve the project ...

And i will also study about the liquibase and logging ...

I was avoiding ORMs but JOOQ seems like a reasonable option !

It is quite useful when experienced developers like you take your time to
review and suggest improvements ...

~~~
rufi
have a look at [https://jhipster.tech](https://jhipster.tech) you can generate
a working example code instantly and get started

~~~
sumeetk
yes ... i checked out ... i wonder why it took me so much time to find that
out ! ...

It would be great if you could keep in touch and post some issues on the
Project Repository where you can Guide upon how can we improve the Code ! And
what is the best tech-stack we should be using on the Backend side !

