The server-side of mobile apps such as Karma, for features such as :
Feature: Find an item I lost
In order to find something I lost
As a sentient and connected being
I want to look for lost items
Feature: Find repairable furniture
In order to add fixtures to my home
As a sentient and connected being
I want to repair discarded furniture
Feature: Find materials
In order to craft something awesome
As a sentient and connected being
I want to find discarded materials
Feature: Geotagging items
In order to bring joy to all of the above
As a nice, sentient, and connected being
I want to geotag items in public places
Scenario: Lost & Found
Given I am strolling in Paris
When I geotag a lost glove below the Eiffel Tower
Then I should win some karma
And the glove should be added to the map of lost items
And glove lookers in the vicinity should be alerted
Scenario: Donation
Given I am moving out
And I have extra furniture
When I donate that extra furniture
Then I should win some karma
And the furniture should be added to the map of donations
And gatherers in the vicinity should be alerted
Scenario: Matter Out Of Place (MOOP)
Given I am a nobody
When I photograph and geotag some MOOP at 41.694151, -0.156661
Then I should win some karma
And the MOOP should be added to the MOOP bag
The full list of behaviors is available in features/
.
This is the REST service running at g2p.give2peer.org.
It will provide a server for Karma, the Android app.
To bring the power of the internet of things to the sharing of things !
That is cheesy, yes. But it's also true ! We can leverage this awesome new communication tool that internet is to find people that need the stuff we have but don't need. Artists, tinkerers, and makers will have a field day !
Someone's garbage is someone else's treasure.
Want not, waste not.
Finally, and this is quite important, money should not be involved.
How about sharing pictures and credits instead with the people that gave you the materials you needed for that awesome creation you just made ?
A Symfony2 project created on April 1, 2015, which makes use of only one small
custom bundle, the Give2PeerBundle
, and a lot of vendor bundles, blessed be
the community ; we love you.
The chosen database is pgSQL, because we need some of its extensions.
v1/
in the URLs)png
, gif
or webp
picture to an itemjpg
picture to an itemThere's only one Give2Peer Symfony2 Bundle for now. There's no need for many right now, and it will make refactoring to an API framework such as https://github.com/api-platform/api-platform easier if want to.
See the bundle's README.
See the full and interactive documentation online.
You'll need php >= 5.6
.
Here are the packages you'll need at first on Debian-based systems :
apt install php php-xml php-intl php-mbstring php-curl php-gd composer
The vendor setup is pretty straightforward if you have Composer :
composer install
Then look at and run the setup_
scripts as-needed in script/
:
script/setup_pgsql
script/setup_permissions
They're made for Debian, you're welcome to add your own.
You should probably install the fortune
package too, but it's not mandatory.
Neither is fun, think about it.
apt install fortunes
Everything here is public domain, unless specified otherwise in the file trunk.
See LICENCE.md
.