open-source-ideas / ideas

💡 Looking for inspiration for your next open source project? Or perhaps you've got a brilliant idea you can't wait to share with others? Open Source Ideas is a community built specifically for this! 👋
6.55k stars 223 forks source link

Nile: decentralized, commission-free, local-economy focused ecommerce #78

Open marcocastignoli opened 6 years ago

marcocastignoli commented 6 years ago

UPDATE: We are on Discord here

I already wrote the description of the project as if it's already an established organization, but it is not. I'm searching for developers, lawyers and advertisers interested in the project!

Description

Why?

We live in a society in which huge corporations have the power to influence economies and trends. Today the big companies that owns the online market don’t pay taxes, they underpay their employees, and they are disrupting local economies. We think that the world deserves a better alternative, so we decide to found Nile.

What is Nile?

Nile is a decentralized ecommerce that promotes local stores, and it’s commission free: all the money you pay for a good goes directly to the seller. Nile is made to be, as far as possible, similar to the online shops you already use; so, when you are searching for something, you’ll not even notice that you are using a decentralized system.

How will you earn money?

The application is decentralized so we just need money for the developers, the lawyers and the advertisers, we don’t have to build and maintain a huge and expansive network infrastructure. So we’ll just earn money from advertisement, but it will not be specific for you, because we want your data to be yours, and we will accept to advertise only local products.

How do you build a decentralized ecommerce?

Every city (or village) will have a Nile instance, the Nile instance is needed to group all the stores of your city so you can view them in a storefront like the one that you already use. All the Nile instances will talk to each other, so when you search for a product and it’s not near to you (it means it’s not in the instance of your city), you will find it anyway. Stores will also contribute to the platform: every store will host its part of the system: when you buy a product, the computational cost of the operation is processed by the store. The store will have different ways to connect to the local Nile instance, if a store doesn’t handle lots of requests then it just need a browser to be part of the network. If the store needs to handle thousands of requests per seconds then a more powerful architecture is needed but we will help configuring it.

What about the delivery?

Nile comes with a delivery service that works like Deliveroo: a network of cyclist that cover the local area. An algorithm calculates the best and cheapest route to deliver your goods. Also the delivery service will be commission-free, when a good is delivered, the money for the delivery goes directly to the cyclists involved. When you buy something from far away a cyclist can’t do the job, so the app will suggest the cheapest delivery method from a third party delivery service.

Relevant Technology

I'm open to discuss about which language or protocol fit best this idea

Who is this for

The project is very ambitious so everyone is welcome, of course experienced developers are needed to build the decentralized architecture

Complexity and required time

Nile is an ambitious project, from a programming point of view, building a decentralized system is something difficult, there are a lot of concept involved. But a first version of Nile, without the complete decentralization implemented could be ready in just 3 months. Later, for the next 9 months, we could decentralized every piece of Nile while it is already online. So in total we need 1 year to launch Nile.

Complexity

Required time (ETA)


Share on Twitter/other social media if you will. Something like

New project on Open Source Ideas Initiative: [Nile: decentralized, commission-free, local-economy focused ecommerce]
FredrikAugust commented 6 years ago

Wow, this sounds really cool :open_mouth:! Hope it works out :) Would love to join, but I'm starting my studies soon, so won't have time to work on this full time, though if you end up building it in a language I'm familiar with, I'll definitely come help out! :)

paulcmal commented 6 years ago

I feel like the basis for your project is already covered by OpenBazaar, a fully P2P marketplace with support for many cryptocurrencies. Maybe extending Openbazaar to support delivery via local bike coops (there are a few) or to support local currencies / cash (with optional third-party escrow) could be an option?

marcocastignoli commented 6 years ago

@paulcmal I already tried OpenBazaar, the problem that I see is about the "Getting started". The OpenBazaar server is written in Python or Go, this means that every shopper needs to have a machine with external software installed. I think that the average shopper doesn't have a running computer / server and doesn't want to install anything on his/her OS (if not on his/her smartphone). My idea is to have a central server for each city that's only used as a websocket server and to serve the showcase APIs (Each central server will communicate to the others, so users can see also shops in other instances), so a shopper just need a browser to get started.

victorb commented 6 years ago

@marcocastignoli AFAIK, OpenBazaar is working on getting OB to work in both browsers and mobile without having to rely on a server running somewhere.

Running OpenBazaar in a browser is more difficult. The network is built on top of IPFS. Running an OpenBazaar node is essentially running a custom IPFS node. There is an effort underway to have an IPFS node run in browser called IPFS-JS, and we believe this will allow us to build a web-based OpenBazaar version. Building the web-based version is a significant task, and we believe it will take us into early 2019.

We expect the payoff to be worth the wait. The initial web-based client will allow buyers to make purchases without needing to download anything. Users can share links to stores or listings that will be viewable from the web. These improvements won’t compromise the completely distributed architecture of the network; all the necessary code is run client-side in the browser.

You can read more about their plans here: https://www.openbazaar.org/blog/openbazaar-2018-roadmap/

northfoxz commented 6 years ago

The website can be hosted on IPFS and payments on smart contracts. I can help with the project :D

cyberpz commented 6 years ago

Bella Marco! I love your ideas and share your thoughts about big companies, like Amazon that raise their capital exploiting locals and selling without even paying taxes. I thought that this project should be full open source in order to get more people to contribute and share as well this Anti-Amazon propaganda. Decentralization on cities make sense, i agree, the vendor doesnt want to have too much crap to think about, so let them use the service only, paying a little fee monthly to make the service run and support economically the maintenance.

AtHeartEngineer commented 6 years ago

Typo: "when you when you are"

marcocastignoli commented 6 years ago

@VictorBjelkholm that's a great news! Maybe the store part of Nile could be found upon OpenBazaar, thanks for the suggestion. I'm gonna search more about this!

paulcmal commented 6 years ago

every shopper needs to have a machine with external software installed

In my experience this is not a problem, especially when it comes to growing a local economy based on trust relationship with free-software activists. What is a major stopper though is key/data backup & recovery, which is usually not given enough thought leading to people losing access to stuff (and making them angry at p2p/selfhosting)

My idea is to have a central server for each city

Well if you're not going to centralize, why not federate from the bottom up? Let people run their own (personal/community) instances and federate through ActivityPub or XMPP? That would avoid a single point of trust/failure, even if on a local level :) (of course in order to fight spam it does make sense to build some sort of web-of-trust or a whitelist for federation like peertube does)

Thanks for taking the time to reply. I wish you lots of luck and courage to build your project and destroy these capitalist assholes who profit from our misery ! :fire:

bigolol commented 6 years ago

This has maybe a 0.0001% chance of succeeding, but damn I sure hope it does.

paulmillr commented 6 years ago

Learn capitalism. You're focusing on shitty problems. Most folks don't give a crap about decentralization or local economy as long as something's cheaper and more accessible to them, see Prime does its job better than local government in Canada. That local economy "need" arises from overfed western view.

Focus on real problems that would make the product a great competition to AMZN.

marcocastignoli commented 6 years ago

@paulmillr thanks for the suggestion, and I totally agree with you, except

You're focusing on shitty problems

I think that the only way to make the local economy to rise, is to give the local store the tools that made Amazon a successful service. And that's exactly the purpose of this project.

as1ndu commented 6 years ago

I recommend you use http://foam.space for proof of location when managing logistics

nerdbeere commented 6 years ago

Great Idea!

In Germany/Austria there's a startup (https://atalanda.com) that tries to solve at least parts of what you are describing. It's not decentralized but still an interesting project though.

sardaukar commented 6 years ago

Not a big fan of Amazon, would love to help.

russellballestrini commented 6 years ago

I would like to partner, when can we talk?

I drafted a blog post on Friday which details how I would tackle this problem, instead of building the market first I would build a free SaaS "value add" application for side gig and small business operators which would help them keep track of work-in-progress. This data would then be used to power recommendation engines, and a marketplace. The network would come naturally after that.

Reference to my post: https://russell.ballestrini.net/all-local-heros-need-a-gig-side-kick/

marcocastignoli commented 6 years ago

@russellballestrini @sardaukar @NorthFoxz @FredrikAugust This evening (CET) I will crete a group somewhere (suggestion about the platform? Better if it's open source, Telegram is ok?), and add you if you want, so we can speak easily.

nadavdrewe commented 6 years ago

I have already built a good portion of this in c# using websockets, mongodb, javaScript. The platform is token based, the payment mechanism runs on eos. I have working demos and a working server with extensive apis, plus various nsservicebus microservices handling message queuing.

marcocastignoli commented 6 years ago

@nadavdrewe Wow! :open_mouth: That's a great news, can I add you to the future group? Can you help explaining your projects?

Aeolun commented 6 years ago

If this is going to be built on proven services without any mention of block chain, tokens, ipfs or other unicorns I am interested.

You need some degree of centralization and centralized control to make a service like this work, and trying to go for full freedom for the sake of it is just going to relegate this to a dark corner of history.

FredrikAugust commented 6 years ago

@marcocastignoli we already have a slack group, but I agree with your "the more open source the better" philosophy, so telegram is fine with me.

FredrikAugust commented 6 years ago

And before someone points it out, I know telegram isn't entirely open source

meyer9 commented 6 years ago

I have experience with blockchain projects and I'm interested in contributing. Please add me as well. I've worked on a fork of OpenBazaar, but I have some ideas of how to make it more accessible.

Basically, OpenBazaar forked the IPFS network for almost no reason. The OpenBazaar network could run just fine on the main IPFS network. AFAIK, OpenBazaar was waiting on https://github.com/ipfs/js-ipfs to finish DHT implementation for javascript to allow it to be accessed through a web browser.

I think the best way to develop a platform like the one you are proposing is to contribute/fork OpenBazaar and contribute to projects like js-ipfs to allow it to be used in a browser. Since OpenBazaar is open-source, if the company behind it is not going in a direction that we want, we can simply fork it. Personally, I don't agree with the monetization of their platform using tokens that they were proposing.

nickdima commented 6 years ago

@marcocastignoli I suggest using https://spectrum.chat It's a good compromise between a chat app and a message board. Using something like telegram would make it difficult to follow the discussions. A thread based system should be easier to follow, and searchable as well. And it's also open source.

marcocastignoli commented 6 years ago

@meyer9 @Aeolun I don't like the idea to implement a cryptocurrency.

If this is going to be built on proven services without any mention of block chain, tokens, ipfs or other unicorns I am interested.

Thanks! I totally agree with you. I think that for each problem there is a different solution, a platform like this one is huge, lots of different technologies will be involved, I don't want to advertise it focusing on just some of them.

marcocastignoli commented 6 years ago

@russellballestrini @sardaukar @NorthFoxz @FredrikAugust @meyer9 @Aeolun If everyone is ok, we can go with that https://spectrum.chat/

russellballestrini commented 6 years ago

@marcocastignoli never used it before, I just linked my Github account, do we have a team/channel?

phifty commented 6 years ago

I might be in as well. Let me know the chat instructions

meyer9 commented 6 years ago

@marcocastignoli That sounds good to me. I do think cryptocurrencies need to play a role in the platform to be truly decentralized, however I do not think we should focus our efforts on using cryptocurrency as anything other than a P2P payment platform. We can also simply use already-existing cryptocurrencies. We'll chat about it later once the spectrum chat gets set up.

marcocastignoli commented 6 years ago

@russellballestrini @sardaukar @NorthFoxz @FredrikAugust @meyer9 @Aeolun @phifty We have the channel https://spectrum.chat/nile

FredrikAugust commented 6 years ago

Will check in later. On my way home.

jesser360 commented 6 years ago

@marcocastignoli I would be more than happy to help with development. I am currently working on my own e-commerce platform that integrates different APIs including package tracking, payment systems (stripe and blockchain), and my own structured back-end for managing orders. I have also looked in depth into the development of decentralized e-commerce app built on ethereum and what that would look like (not an easy task). It'd be fun though!! Please let me know how I can help!

snajpa commented 6 years ago

Hey guys!

I'm a cofounder of a nonprofit organization, which does exactly what this issue is asking for.

https://vpsfree.org

If you guys want, we can launch it all over the world - we are just about ready for that. Up until now, we've been running OpenVZ containers, but now we have our own stack based on NixOS + LXC + ZFS:

https://vpsadminos.org/

We are pro-opensource and fully transparent.

Currently, we have about 1300 members running 1700+ containers for local CZ/SK community here in Europe.

If there is enough interest, we can work together to grow this community and the way it does things ;)

You can reach me on Freenode.net IRC channel #vpsfree, nick snajpa - please, talk to me.

This is my life, I am working full time for the community, I am not the owner, though I lead things (until I become useless to the project, there's always a possibility to kick me out.).

Lately I've been thinking to codify what we do on some blockchain network - Cardano with IELE seems to be a fit choice at first and even second glance.

Let's do this!

marcocastignoli commented 6 years ago

@jesser360 Thanks a lot! Please join https://spectrum.chat/nile

nadavdrewe commented 6 years ago

Yes, add me to the group. I fully agree - don't use blockchain, use traditional infrastructure. I have telegram and spectrum. My spectrum username: deathmachine. Send me a link to the telegram group and I will join

On Mon, Aug 6, 2018 at 4:40 PM, Pavel Snajdr notifications@github.com wrote:

Hey guys!

I'm a cofounder of a nonprofit organization, which does exactly what this issue is asking for.

https://vpsfree.org

If you guys want, we can launch it all over the world - we are just about ready for that. Up until now, we've been running OpenVZ containers, but now we have our own stack based on NixOS + LXC + ZFS:

https://vpsadminos.org/

We are pro-opensource and fully transparent.

Currently, we have about 1300 members running 1700+ containers for local CZ/SK community here in Europe.

If there is enough interest, we can work together to grow this community and the way it does things ;)

You can reach me on Freenode.net IRC channel #vpsfree, nick snajpa - please, talk to me.

This is my life, I am working full time for the community, I am not the owner, though I lead things (until I become useless to the project, there's always a possibility to kick me out.).

Lately I've been thinking to codify what we do on some blockchain network

  • Cardano with IELE seems to be a fit choice at first and even second glance.

Let's do this!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/open-source-ideas/open-source-ideas/issues/78#issuecomment-410752222, or mute the thread https://github.com/notifications/unsubscribe-auth/AB0U7xDvyHpQ9nbF4wP6Msfr2ndwE9pcks5uOGOCgaJpZM4VwMPo .

nadavdrewe commented 6 years ago

Done. :)

On Mon, Aug 6, 2018 at 4:47 PM, Marco Castignoli notifications@github.com wrote:

@jesser360 https://github.com/jesser360 Thanks a lot! Please join https://spectrum.chat/nile

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/open-source-ideas/open-source-ideas/issues/78#issuecomment-410754385, or mute the thread https://github.com/notifications/unsubscribe-auth/AB0U73cNFkJ4eBguDOYHlykipBQpPGUXks5uOGT6gaJpZM4VwMPo .

jjeffryes commented 6 years ago

Adding in a system to support the exact use case described here should be entirely doable within OpenBazaar. These features are on the long-term road map, but if someone wanted to contribute to them before that, we'd be happy to help them do so.

Regarding support for web and mobile, we're working on both of those things right now. After we complete support for multiple coins in a single node those are our next two major release targets.

And if you don't like the Go implementation, you can always create a different one. The OB protocol is separate from the reference client and server. The OpenBazaar team's vision is that there will eventually be many specialized applications that use the protocol. An implementation focused on local products is a great example!

irishgordo commented 6 years ago

This sounds stellar!

nullbuddy1243 commented 6 years ago

Plz add me to the group! I would love to help! Something like this would be a major challenge to run and operate, but a decentralized online shop is sorely needed to confront monopolies.

snajpa commented 6 years ago

Here's a live API of vpsFree:

https://api.vpsfree.cz/

As I was saying, we really need to integrate with some blockchain, so that we could do the "cloudy" hourly billing for resources.

A lot more info about us is on our knowledge base:

https://kb.vpsfree.org/

I think what we do could serve the purpose of "open community-run cloud" just fine - we just didn't have the luck to attract anyone outside CZ/SK willing to jump on board with us yet. It's not like we did a whole lot of searching for the right people ;)

So again, if anyone is interested, we are here, we've been doing this for almost 10 years now, it would be a logical next step for us, to go a bit more decentralized & global.

My hope is that we can bring this into existence much sooner, if we can find a way how to all work together.

meyer9 commented 6 years ago

Everyone can join here: https://spectrum.chat/nile

placer14 commented 6 years ago

Hi all. I'm a developer at OB1 and work primarily on http://github.com/OpenBazaar/openbazaar-go. We created OpenBazaar as an open and free protocol to support exactly the idea that you are attempting to create. We don't object to you starting anew, but at least take along some of the wisdom that we've developed over the past 5+ years working on this project.

tl;dr: OB1, the team working on OpenBazaar, would love to help.

Key takeaways:

dmadams28 commented 6 years ago

I would be interested in helping. Start up guy with ecommerce and marketplace background. PM me.

dnk8n commented 6 years ago

A lot of proof of concept work can be done using chatops. For an example, see libretaxi.

Then I would like something like libretaxi to be rebased on a federated system like matrix.

The way I understand it local nodes (stores in this case) would be responsible for infrastructure costs. Private data secured on the nodes own databases, public data replicated over IPFS for example.

Essentially you now have a communication platform on which you can bolt on what you want.

I have an idea like yours, except for getting an Uber like service to exist out in rural areas. You might need to build in Uber like functionality to fulfill the deliveries. Also nodes could work together to track the progress of a long distance delivery.

Also, the otherwise empty delivery truck could be routed in order to maximise use of it's capacity. This is where the federated service would really be beneficial.

Also data analytics on historical data can be used for machine learning model training on the global system.

I wouldn't want this to become yet another ad-tech thing though. Think monetization can come in support contracts, verified nodes, etc.

Just brainstorming, haven't had time to thing all what I am saying all the way through. But it could be a start.

erlend-sh commented 6 years ago

In a similar vein as OpenBazaar, there’s also https://www.originprotocol.com

Chris-Fourie commented 6 years ago

Hi there,

this is something that I have been thinking about for a while. I have also been following OpenBazaar and really like the break down they have just given.

I am keen to get involved.

What makes sense to me in terms of incentivising a group of local store owners to maintain an instance of a system like this would be to have the ability to create a federated network of instances that are web accessible.

So in a similar way that the people over at https://fediverse.party/ have made this for chat, I could imagine something similar for online stores.

E.g. I sell Product_X and you sell Product_Y, each of us has a dedicated page for our own products and store but we also have a page for our federated store that lists both our products. This could allow sellers to form networks where their products have a symbiotic draw on customers. It also allows them to define the boundaries of their own selling network, so that if for example they want to only federate with sellers they believe are trustworthy, then this could give certain federated selling networks the opportunity to form a group identity and reputation within their local community.

Some networks of sellers may want to tailor the look and feel of their sales platforms to suite their customer niche, perhaps this direction may help with that as well.

Will join you over at https://spectrum.chat/nile =)

varunpant commented 6 years ago

I would Love to help

FredrikAugust commented 6 years ago

Please join the spectrum.chat @varunpant. We're currently in the middle of organizing, but we'll get together (all of us) and talk shortly

stealthyinc commented 6 years ago

Hey @marcocastignoli if you want a mobile decentralized communication integration, we'd love to work with you at https://stealthy.im 👍

steckerhalter commented 6 years ago

too bad it's driven by ads again. haven't you understood that ads are most despicable thing of our time. fuck ads and fuck those that build stuff with ads.