HostRefugees, at your place!

Overview

HostRefugees.eu

GitHub Workflow Status GitHub issues GitHub last commit Website

Want to join or help out? Send me a message on Twitter @timokoenig

Development

Getting Started

Add the following variables to your .env file:

NEXT_PUBLIC_CONTACT_NAME=xxx
NEXT_PUBLIC_CONTACT_ADDRESS=xxx
NEXT_PUBLIC_CONTACT_ADDRESS_CITY=xxx
NEXT_PUBLIC_CONTACT_ADDRESS_COUNTRY=xxx
NEXT_PUBLIC_CONTACT_EMAIL=xxx
NEXT_PUBLIC_CONTACT_WEBSITE=hostrefugees.eu
NEXT_PUBLIC_VERSION=0.0.1

NEXT_PUBLIC_GOOGLE_MAP_KEY=xxx

DATABASE_URL=postgresql://postgres:@127.0.0.1:5432/hostrefugees?sslmode=disable

EMAIL_ENABLE=true
EMAIL_NAME=xxx
EMAIL_EMAIL=xxx
SMTP_USERNAME=user
SMTP_PASSWORD=password
SMTP_HOST=smtp.your-email.com

AWS_S3_REGION=eu-central-1
AWS_S3_ACCESS_KEY=xxx
AWS_S3_ACCESS_SECRET=xxx

SECRET_COOKIE_PASSWORD=complex_password_at_least_32_characters_long
NODE_ENV=development

Then run the following two commands to start your local server:

npm install
npm run dev

Production Build

Make sure to set the NODE_ENV to production to secure the iron session.

Iron Session

https://github.com/vvo/iron-session

Prisma

// To migrate the schema file and generate the client npx prisma migrate dev --skip-seed

// To generate the client npx prisma generate

Seeding Development Database

After applying all migration, run the following command to seed the database once:

npx prisma db seed

Securing Passwords

https://auth0.com/blog/hashing-in-action-understanding-bcrypt/

Google Maps

Sign up at Google to get an API Key for Maps.

Snapshot Tests

We use Jest Snapshot Testing for our components.

To add a new snapshot test, follow the instructions or use this example and then run npm run test to automatically create the snapshot file.

To update an existing snapshot, adjust the test case and run npm run snapshot-update.

Email Template

Every email uses a base responsive template that is located in material/email-template.html. Before we send an email, we need to inline the css styles with a tool like htmlemail.io/inline.

Set environment variable EMAIL_ENABLE=true to enable the emailing.

Docker Build

docker build -t hostrefugees .
docker run -p 3000:3000 hostrefugees

i18n

The app uses i18next for internationalization. We want to offer this website to as many people as possible therefore native translations are important. We welcome anyone to help us translate this app. To do so, follow these steps:

  1. If the language does not exist, create a folder in /translations and copy the files /translations/en/common.json and /translations/en/country.json in that folder
  2. Translate the existing values in those files and make sure you do not change the key
  3. Save and commit your changes

Note: If you do not add a translation in any given language, the app will default to English.

Contributors

Special thanks to Katerina Limpitsouni and undraw.co for providing the illustrations for this project.


Made with for the people

Comments
  • Feature: Hosting refugees' pets

    Feature: Hosting refugees' pets

    Situation: Many refugees have pets at home and either leave them in the Ukraine or bring them along on their dangerous journey. For those who bring them along the borders can be a difficult situation.

    What happens at the border exactly?

    What happens or has to be done to the pets arriving in Germany?

    Idea: As an additional feature, people can search for a place for their pets or people "apply" to take care of animals. Some people may cannot host people, but they can take care of animals and I believe that many refugees would be more than grateful if they knew their pet is taken good care of.

    Information:

    Rules in Germany:

    • Vaccination and 21-day quarantine of the animals is mandatory
    • You will receive a microchip, an animal ID card and a rabies vaccination
    • Volunteers need at least a two-room apartment to keep the dog or cat away from people and other animals. If an animal is taken in, helpers must also notify the local veterinary office using a form. Medical officers can then check whether the quarantine conditions are really met

    to be continued

    enhancement 
    opened by JilAuraya 6
  • Flyers Getting Started

    Flyers Getting Started

    Let's create flyers (in business card size) with the website and important numbers on it

    Front hostrefugees.eu [LOGO]

    Back Getting Started / Починаємо hostrefugees.eu/getting-started Police / Поліція: 110 Ambulance / Швидка допомога : 112

    opened by timokoenig 4
  • Safety Check

    Safety Check

    We want to ensure that refugees arrive safe at their temporary home, so we need a safety check for the Guest and Host.

    Current Idea: When the guest arrives at the hosts place, both parties confirm the safety check on the website. If the safety check is not confirmed within 24 hours, we will get in touch with both parties.

    Future Ideas:

    • Add additional safety checks after x days / weeks?
    • Additional questions to check the correctness of the place offering
    opened by timokoenig 4
  • Activities Around You

    Activities Around You

    Let's offer a feature to show activities, places, and other things around you based on the guests place location or a manual search (for everyone that is not being hosted)

    Activities can be

    • free sports offerings from sport clubs
    • donation centers that give out clothes, food, and other essentials
    • ...
    opened by timokoenig 3
  • Remove ID Verification from onboarding

    Remove ID Verification from onboarding

    Often the hosts want to register but don't have photos of their ID or passport at hand. We should remove the verification from the onboarding flow but that doesn't mean we will remove it completely. The user can upload the documents at a later point on the profile tab.

    The verification is still mandatory before an accommodation is listed on the page.

    enhancement 
    opened by timokoenig 2
  • Stay Request - Decline Message

    Stay Request - Decline Message

    It would be a nice gesture and feature to be able to send a decline message. Currently the host can either accept or decline the request. Either way, but imo more importantly for declining, it would be nice for the host to send a little message with the decline. Maybe stating the reason or any other kind of message.

    This would be in the feature group of chat functionality.

    enhancement 
    opened by JilAuraya 2
  • Waiting List for Guests

    Waiting List for Guests

    Accommodations are still rare and to improve the user experience from not finding anything new we will add a guest waiting list.

    A guest can register on the platform and enable the waiting list feature. Then we will send out an email with new accommodations once a day to those users.

    In the future we could improve this feature by adding filter conditions so that we show only relevant accommodations to that guest.

    enhancement 
    opened by timokoenig 2
  • Feature: women hosting women

    Feature: women hosting women

    A friend of mine recently said that she would like to host a refugee but that she'd only feel comfortable taking in women. Right now, as a host she could decline a male refugee, right? But we could make this process more smooth by including a feature for this?

    enhancement 
    opened by BeaCza 2
  • Automatic Translation for Posts

    Automatic Translation for Posts

    We implemented the automatic translation for free text fields of places. This feature should be integrated for posts as well since they are in different languages.

    Should the user be able to enable the free text translation for every post separately or do we have a global option to automatically translate everything in the selected language?

    enhancement 
    opened by timokoenig 2
  • Guest Verification

    Guest Verification

    How do we unsure that only people in need are using the service without making the process too complicated? Do we add ID / passport verification and/or a refugee status check?

    opened by timokoenig 2
  • Improve communication process after guest gets accepted

    Improve communication process after guest gets accepted

    Current Implementation: After a host accepts a guest to their place, both receive an email with the following information:

    • Full Name
    • Address
    • Email / Phone number
    • Hosts and Guests languages
    • An info text to contact each other and to arrange the arrival

    Improvement Ideas

    • The email should be available in English and the first language of the guest
    • The host can enter arrival instructions for each place
    • Should we offer an InApp chat functionality? (Emails are so old school)
    enhancement 
    opened by timokoenig 2
  • Hosts can offer accommodation to guest and pet listings

    Hosts can offer accommodation to guest and pet listings

    Currently the host lists their accommodation and the guest can apply for it. We would like to extend the feature for the opposite use case, meaning a guest can create a request and a host can offer their accommodation to them.

    The People Request will have similar properties like the accommodation model.

    • How many people?
    • Adults, Children
    • Bring any pets?
    • Additional information
    • Optional Profile Picture

    The Pets Request must have additional properties.

    • Name, Age, Type, optional picture
    • Vaccinations?
    • Insured?
    • For Dogs, chipped?
    • Information regarding behavior
    • "Do's and Dont's"
    • additional important information, such as illness, intolerances, preferences, etc.
    • documents available? (vaccination card, insurance, etc.)

    ref https://github.com/timokoenig/hostrefugees/issues/21

    enhancement 
    opened by timokoenig 0
  • What hosts need to look out for - Information

    What hosts need to look out for - Information

    In addition to information about refugees, we should also put the focus on the hosts. For them, it is also a new situation and it can be rather difficult to gather all the information on what to do, what to look out for, and in general important information to know.

    opened by JilAuraya 0
  • Places Around You

    Places Around You

    To further improve the feature activities around you, we will add places around you. These places are

    • Behörden
    • Anlaufstellen
    • Hospitals
    • Police Stations
    • ...

    In the future we can show matching places and activities based on the guests accommodation.

    enhancement 
    opened by timokoenig 0
  • Feature: Discussions to ask questions and help others

    Feature: Discussions to ask questions and help others

    Hosts get asked a lot of questions and are expected to always have the answer to it. Most of the time this is not the case and the guest doesn't know where to go from there. HostRefugees should have a discussion section like Github Discussions or StackOverflow.

    A Guest can ask a question and other users can give their answer or opinion to it.

    The post author can accept the right answer to make it easier for others.

    Posts and comments can integrate some sort of automatic translation to include everyone in those discussions.

    A feature like this needs at least one moderator to keep the discussions free from political opinions and other extreme content.

    enhancement 
    opened by timokoenig 0
  • StarterKit for Germany

    StarterKit for Germany

    Let's create a starter kit that includes important information and useful links.

    • Where to find what?
    • Important phone numbers
    • Links to Government websites
    • Activities
    • Basic German words
    opened by timokoenig 12
Releases(v1.5.0)
  • v1.5.0(Apr 27, 2022)

    Features

    • Add polish translations
    • Allow users to delete their account
    • Change layout of the post filter
    • Add script to translate all database entries when a new languages is added
    • Translate emails based on users language

    Bugfixes

    • Fix post validation rules to allow entries with only title and description
    • Fix missing user photo
    • Do not show places that are not available anymore
    Source code(tar.gz)
    Source code(zip)
  • v1.4.0(Apr 14, 2022)

    Features

    • Improve image performance by adding compression, resizing, and caching
    • Add waiting list for users that did not find a suitable accommodation
    • List accommodations for pets only
    • Profile verification is optional now; places from verified profiles have a special verification badge
    • Guests and hosts are able to verify their profile
    • Add api input validation and trim whitespaces
    Source code(tar.gz)
    Source code(zip)
  • v1.3.0(Apr 11, 2022)

    Features

    • Translate GoogleMaps bases on users language
    • Improve image performance
    • Show place reservation on detail page
    • Add deployment scripts for dev and prod environment
    • Add S3 cache for local dev environment
    • Show only the 4 most recent accommodations on index page
    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(Apr 3, 2022)

    Features

    • Translate website in other languages (German, Ukrainian, Russian)
    • Automatically translate free text fields for places and posts
    • Add post categories with filter
    • Add basic google maps dark mode colors
    • Implement basic admin dashboard
    • Add profile image to header menu
    Source code(tar.gz)
    Source code(zip)
  • v1.1.0(Mar 28, 2022)

    Features

    • Add SafetyCheck for Host and Guest
    • Add option for hosts to allow pets at their place
    • Add option for guests to tell the host if they like to bring pets
    • Add Become A Host explanation
    • Add activities around you that acts like a bulletin board for people to post help offers or other information
    • Add language selection to the footer section of the platform

    Bugfixes

    • Fix some translations
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Mar 23, 2022)

OnePiece /r/place repo to store the template and script for outlining the place to put titles

onepiece-place OnePiece /r/place repo to store the template and script for outlining the place to put titles This script & repo are cloned from Antice

Lopeh 11 Apr 9, 2022
The /r/place Atlas is a project aiming to catalog all the artworks created during Reddit's 2022 /r/place event.

The 2022 Place Atlas The /r/place Atlas is a project aiming to catalog all the artworks created during Reddit's 2022 /r/place event. This project was

Place Atlas 397 Dec 28, 2022
Place your Bob-ombs so they surround opposing Bob-ombs. Captured Bob-ombs change color and join your team. The player uith the most Bob-ombs at the end is the Hinner.

Bob-omb Reverse with Arduino MKR 1010 Wifi ?? @cbarange & @j-peguet | 5th January 2022 Intro Docs MQTT with Arduino ?? https://docs.arduino.cc/tutoria

Clement 3 Jan 13, 2022
If you want to know more about your favorite TV show then you've come to the right place!

Ultimate Show Guide We want to introduce you this web page that will help you to manage all your favourite TV series from place. ??️ Desktop version H

William Morales 6 Jun 23, 2022
Smart Auto Move learns the size and position of your application windows and restores them to the correct place on subsequent launches. Supports GNOME Wayland.

smart-auto-move smart-auto-move is a Gnome Shell extension which keeps track of all application windows and restores them to the previous position, si

khimaros 40 Dec 23, 2022
🌹 Your one stop place for moderation and more.

Azalea Azalea is a advanced moderation bot used. This repo includes, the discord bot: Moderation, server stats, welcome & leave, reaction roles, auto

Saige 2 Sep 13, 2022
All your services in one place, built by the community

Ferdium Ferdium Screenshots Download Unsigned Nightlies on MacOS Unsigned Nightlies on Windows Migrating from Ferdi Contributing Contributors ✨ ???? H

Ferdium 1.3k Jan 8, 2023
Deta Base UI - A place with more functionality for managing your Deta Base(s).

Deta Base UI - A place with more functionality for managing your Deta Base(s). ✨ Features: Total rows count Quick multi select (click and shift) Searc

Harman Sandhu 13 Dec 29, 2022
A Single place to Discover, Collaborate, and Get your data right

A Single place to Discover, Collaborate, and Get your data right Darkseal Darkseal includes the following: Metadata schemas - Defines core abstraction

GuinsooLab 13 Dec 28, 2022
The best place to start your Nuxt Theme.

Nuxt Theme Starter Create Nuxt theme with this GitHub template. Setup Make sure to install the dependencies: # yarn yarn install # npm npm install #

Nuxt Themes 44 Dec 22, 2022
A place for all of my cheat sheets.

Who doesn't love cheat sheets? This repository will behold all of my cheat sheets in the future! At the moment, you will find: Languages Prolog Data S

Amine Haj Ali 24 Jun 9, 2022
Google-reviews-crawler - A simple Playwright crawler that stores Google Maps Place/Business reviews to a JSON file.

google-reviews-crawler A simple Playwright crawler that stores Google Maps Place/Business reviews to a JSON file. Usage Clone the repo, install the de

￸A￸l￸e￸x D￸o￸m￸a￸k￸i￸d￸i￸s 6 Oct 26, 2022
A place to relax enjoy and engage with virtual garden

A place to relax enjoy and engage with virtual garden

Snehil Buxy 4 Apr 5, 2022
Kingdom Hearts r/Place Coordinator

Kingdom Hearts r/Place Coordinator How to install Install the script runner On Firefox: https://addons.mozilla.org/en-US/firefox/addon/violentmonkey/

Oppossome 2 Apr 4, 2022
A script for defending the Canadian flag on r/place 2022

ca-place-script A script for defending the Canadian flag on r/place 2022. This script will automate your tile placements to defend the grey outline an

null 3 Apr 4, 2022
Green Lattice Overlay for r/place

Green Lattice Overlay for r/place Step 1 Install one of the following extensions for your browser. Chrome (TamperMonkey) Firefox (ViolentMonkey) (note

siah 4 Apr 25, 2022
Overlay dos brasileiros, a partir do Discord, no r/place 2022

[Instruction available in English below] - Instruções de uso do overlay do r/brasil no r/place 2022 INSTRUÇÕES PARA USAR O OVERLAY: Instale o TamperMo

null 8 Sep 20, 2022
Collaborative /r/place 2022 template userscript

[inactive] /r/Place 2022 collaborative minimap userscript Help /r/MyLittlePony get a pony on /r/place! Help /r/ainbowroad build a rainbow road on /r/p

r/ainbowroad 15 Aug 26, 2022