Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/OpenLitterMap/openlittermap-web
https://opengeospatialdata.springeropen.com/articles/10.1186/s40965-018-0050-y
https://github.com/OpenLitterMap/openlittermap-web
Last synced: 3 months ago
JSON representation
https://opengeospatialdata.springeropen.com/articles/10.1186/s40965-018-0050-y
- Host: GitHub
- URL: https://github.com/OpenLitterMap/openlittermap-web
- Owner: OpenLitterMap
- License: gpl-3.0
- Created: 2020-08-19T23:19:26.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-03-31T09:25:44.000Z (7 months ago)
- Last Synced: 2024-06-11T20:17:13.214Z (5 months ago)
- Language: PHP
- Homepage: https://openlittermap.com
- Size: 188 MB
- Stars: 110
- Watchers: 8
- Forks: 33
- Open Issues: 80
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- open-sustainable-technology - OpenLitterMap - An open, interactive and accessible database of the world's litter and plastic pollution. (Industrial Ecology / Circular Economy and Waste)
README
About OpenLitterMap
OpenLitterMap is an open, interactive, and accessible database of the world's litter and plastic pollution.
We are building a fun data-collection experience to harness the unprecedented potential of citizen scientists around the world.
We believe that science on pollution should be an open, transparent and democratic process- not limited or controlled by anyone or any group.
If you would like to help shape the future of OpenLitterMap, we would love to have you in our Slack Channel
Every Friday, 6pm Irish time, we run a community zoom call for ~1 hour where anyone interested in OpenLitterMap can listen in to learn more, and share ideas to help the future direction of the platform.
OpenLitterMap is underdeveloped, but we are a community of over 3,600 contributors who have crowdsourced more than 100,000 uploads from 80 countries.
All of our data is available to explore on the Global Map and more sophisticated "city grid maps" are also available to explore. Anyone can download all of our data for free (bulk photo downloading currently unavailable).
We have a GoFundMe which includes our first promotional video and a demo video showing how to use our app.
The source code for the mobile app (React Native) has launched, and will be followed by the OpenLitterAI and our smart contacts.
OpenLitterMap is the first project to reward users with cryptocurrency for the production of geographic information. By using the app and doing "proof of work", users are "mining" Littercoin which we are experimenting with to reward and incentivize the sharing of geospatial data on plastic pollution.
STAY TUNED FOR LOTS OF EXCITING UPDATES
OpenLitterMap-web is built with Laravel, Vue.js and Bulma
To install this project locally on your machine, download and install Homestead
First, download Virtual box which will give you a Virtual Machine. This is used to give us all the same development environment. Alternatively, if you use mac, you can use Laravel Valet
Second, you are going to need to download Vagrant which you will use to provision, turn on and shut down your VM.
In your root directory, add the vagrant box with
`vagrant box add laravel/homestead`
then clone the box with `git clone https://github.com/laravel/homestead.git ~/Homestead`
You should now have a "Homestead" folder on your machine at `~/Users/You/Homestead`
Before turning on the VM, we are going to set up the Homestead.yaml file. Every time you save a file, Homestead.yaml will mirror your local code and copy it to the VM which your web-server (VM) will interact with.
Open the Homestead.yaml file, add a new site and create a database.
```
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualboxauthorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsafolders:
- map: ~/Code
to: /home/vagrant/Codesites:
- map: olm.test
to: /home/vagrant/Code/openlittermap-web/publicdatabases:
- olm
- olm_testfeatures:
- mysql: true
- minio: truebuckets:
- name: olm-public
policy: public
- name: olm-public-bbox
policy: public
```Next, update your hosts file on your host machine (`sudo nano /etc/hosts` on windows it's `C:\Windows\System32\Drivers\etc\hosts`) and include `192.168.10.10 olm.test`
When you want to boot up the VM, cd into the Homestead folder on your host machine and run `vagrant up`
Download the repo and save it locally into your "Code" folder
`~/Users/You/Code/openlittermap-web`
If this is your first time installing, you need to run `vagrant provision`
You also need to install composer and npm dependencies.
Locally, run `npm install`
SSH into the VM with `vagrant ssh`. cd into Code/openlittermap-web, and then run `composer install`
You can migrate and seed the tables with `php artisan migrate --seed`Once you're done, run `npm run watch` which will build the project into the `public` folder.
You should now be able to open the browser and visit olm.test
If you would like to contribute something, make a new branch locally `git checkout -b feature/my-new-feature`. We would love to see your pull requests!
You might notice there are some websocket errors in the browser. Some operations like adding photos broadcast live events to the client. It's easy to get websockets set up to resolve this.
```
In your .env file, add "WEBSOCKET_BROADCAST_HOST=192.168.10.10"
In broadcasting.php, change 'host' => env('WEBSOCKET_BROADCAST_HOST')
In one window, run `php artisan websockets:serve --host=192.168.10.10`
Then, in another window, run `php artisan horizon`
To test it's working, open another window. Open tinker and run event new(\App\Events\UserSignedUp(1));
```If you would want to generate some dummy photos for development purposes, you can do so by
using the `php artisan olm:photos:generate-dummy-photos` command to generate 1500 dummy photos. It also takes
arguments so you can do for e.g. `php artisan olm:photos:generate-dummy-photos 2000` and 2000 photos will be generated.
After running the above command, run `php artisan clusters:generate-all` and the photos should be visible in the `Global Map`
tab and in http://olm.test/world/Ireland/County%20Cork/Cork/mapThe project uses AWS S3 to store photos on production. On development, however, it uses [Minio](https://laravel.com/docs/8.x/homestead#configuring-minio),
an open source object storage server with an Amazon S3 compatible API. If you copied the .env.example file into .env
you should be able to access the Minio control panel at http://192.168.10.10:9600 (homestead:secretkey).
Remember to update the Access Policy to public for your buckets, on the admin panel.You are now ready to get started!
Have fun and thanks for taking an interest in OpenLitterMap