Home

Awesome

Earthquake Croatia web application

This application allows citizens to offer and request help in areas affected by earthquake and possibly other hazardous situations. It is currently hosted at potres.herokuapp.com

Screenshot

Json API

/api/ads

Returns ads with pagination details in headers (Link, Per-Page, Total). This follows the proposed RFC-8288 standard for Web linking.

Available params (all params are optional):

Param nameAllowed valuesDefaultExample
pageInteger gt 01https://www.potres-petrinja.hr/api/ads.json?page=2
per_pageInteger 20 <= i <= 10020https://www.potres-petrinja.hr/api/ads.json?per_page=50
kindsupply or demand-https://www.potres-petrinja.hr/api/ads.json?kind=demand
categoryaccomodation, transport, repairs, medical_assistance, other, building_material, kids, diet_and_hygiene, furniture_and_household, clothes_and_shoes-https://www.potres-petrinja.hr/api/ads.json?category=accomodation

How to contribute

If you want to contribute, please check out our issues tab, see if anything is approved and comment on that issue so we know someone is working on it. If you have a recommendation - please raise a new issue, tag it accordingly with enhancment and bug labels.

Things to keep in mind

We need the UI to be responsive since this app is heavily used on mobile phones.

Environment setup

Make it simple

# Build the container
make build

# Create, migrate and seed the database
make db-create

# Start the server
make server

Docker Compose

# Generate Docker bundle
docker-compose build

# Start Docker containers
docker-compose up

# In another console run
docker-compose run web rails db:create
docker-compose run web rails db:migrate
docker-compose run web rails webpacker:install

Local installation

Ruby setup

# Install gnupg
brew install gnupg

# Add rvm gpg key
gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

# Pull latest rvm
\curl -sSL https://get.rvm.io | bash -s stable --ruby

# Install ruby 2.7.1
rvm install ruby-2.7.1

# Activate environment
source ${HOME}/.rvm/scripts/rvm

System dependencies

# On OSX install postgres and run server
brew install postgresql
brew services start postgresql

# Install dependencies
bundle install

# Initialize and migrate database
rails db:create
rails db:migrate

# Install webpack
rails webpacker:install

[optional] Add dummy data

rails db:seed

Run server

bin/rails server
bin/webpack-dev-server

or if you use foreman

foreman start -f Procfile.dev

Tests

First set up the test database with:

RAILS_ENV=test bin/rails db:setup

Note that this will also seed it with data from db/seed.rb.

And then run with

rspec

If you want to see the system tests running in visible chrome run it with:

HEADLESS=false rspec

Statement

This application is an open-source humanitarian project where everyone can participate and contribute. The sole purpose of this application is to help earthquake victims in the areas of Glina, Sisak, Petrinja, and surrounding villages and settlements.

The app’s function serves as an advertisement platform among those who offer and seek help in areas affected by the earthquake. The use of this application is completely free, and ads can be placed by any citizen of the Republic of Croatia, the European Union, and neighboring countries.

The web application project was made in collaboration with several software engineers and experts, who voluntarily participated in the creation, maintenance, and upgrade of this application.