AnakinM / Zakupy-dla-seniora-SMS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

zakupy sms dla seniora logo

Zakupy SMS dla Seniora

🇵🇱

Celem aplikacji jest umożliwienie komunikacji pomiędzy seniorami a wolontariuszami w prosty i intuicyjny dla obu stron sposób. Komunikacja odbywa się przy pomocy tablicy ogłoszeń, gdzie seniorzy za pośrednictwem SMS mogą poprosić o zrobienie zakupów, a chętna osoba, po uprzednim kontakcie, przyniesie je pod drzwi.

🇬🇧

The aim of the application is to enable seniors and volunteers in a way that is simple and intuitive for both groups. We achieved it by creating a notice board, where seniors can ask for help with shopping via SMS and a volunteer, after contacting them will deliver it to their door.

Strona startowa wolontariusza

Zobacz film / Watch the video

Youtube Video Youtube Video

Spis treści / Table of Contents


Cel projektu / Intro & Goal

🇵🇱 Celem projektu jest rozwiązanie problemów osób starszych w trakcie epidemii. W ciągu ostatnich dni tysiące wolontariuszy wyraziło chęć pomocy np. w zrobieniu zakupów. Niestety większość osób starszych, będących grupą docelową tego rodzaju usługi, korzysta wyłącznie z tradycyjnych mediów, takich jak smsy czy gazeta. Założeniem naszej platformy jest stworzenie pomostu pomiędzy dwiema grupami społecznymi korzystającymi z rozbieżnych środków komunikacji. "Zakupy sms dla seniora" to aplikacja łącząca seniorów i wolontariuszy, w szybki i intuicyjny sposób, bez pośredników.

🇬🇧 The aim of the project is to solve the problems of elderly people during the epidemy. In the last few days lots of volunteers offered to help, eg. by doing shopping. Unfortunately the majority of the elders, who are the target group for this kind of service, use only traditional media, such as text messages or newspapers. Our goal is to create a bridge between two distinct social groups, utilizing different means of communication. “SMS Shopping for a Senior” is an app bringing together volunteers and seniors in a fast and intuitive way, without intermediaries.

Grupa docelowa / Who is it for?

🇵🇱 W naszej aplikacji wyróżniliśmy dwa rodzaje użytkowników - seniora i wolontariusza.

  • Senior - porozumiewa się z aplikacją za pomocą wiadomości SMS

  • Wolontariusz - korzysta ze strony internetowej.

🇬🇧 We have distinguished two types of users of our app - a senior and a volunteer.

  • Senior - communicates through SMS

  • Volunteer - communicates through web application

Motywacja / What is our motivation?

Chętni do pomocy

🇵🇱 Gdy tylko zamknięto uniwersytety, prosiliśmy naszych dziadków, by unikali wychodzenia na zewnątrz i troszczyliśmy się o ich potrzeby. Robiliśmy zakupy, wysyłaliśmy listy, kupowaliśmy leki i opłacaliśmy rachunki. Przez cały czas jednak krążyła nam po głowie myśl: "a co z osobami starszymi, które nie mają krewnych na wyciągnięcie ręki?". Mając cały czas na uwadze ten problem, dołączyliśmy do hackathonu i bez zbędnych ceregieli przystąpiliśmy do pracy.

🇬🇧 Ever since the universities were closed, we advised our grandparents to stay home and made sure all their needs are satisfied. We did the shopping, sent letters, bought medicines and paid the bills. But all this time we were haunted by a thought: how do the elders, whose families live far away from them, cope? With that idea floating in mind, we found the information about the hackathon and without further ado, we put the idea into practice.

Funkcjonalność / Features

🇵🇱

  • Odbieranie wiadomości SMS
  • Detekcja lokalizacji na podstawie parsera zależnościowego
  • Wizualizacja lokalizacji zgłoszeń na mapie
  • Możliwość podjęcia zlecenia przez wolontariusza
  • Ranking najaktywniejszych wolontariuszy
  • System oceniania
  • Rejestracja oraz logowanie wolontariusza
  • System umożliwiający integrację z innymi aplikacjami (REST API)
  • Responsywny design

🇬🇧

  • Receiving SMS messages
  • Localization detection based on dependency parser
  • Visualization of message localization
  • Ability to take on an order
  • Leader board for most active volunteers
  • Rating system
  • Registration and login for volunteers
  • System allowing integration with other applications (REST API)
  • Responsive design

Funkcjonalność w trakcie tworzenia / Features in Progress

🇵🇱

  • Weryfikacja wolontariuszy przez numer telefonu
  • Ranking najczęściej zamawianych produktów

🇬🇧

  • Phone number verification for volunteers
  • Ranking of most popular products

Zaplanowana funkcjonalność / Planned Features

🇵🇱

  • Płatność SMS
  • Aplikacja mobilna dla wolontariuszy
  • Możliwość składania zamówień za pomocą asystenta głosowego
  • Możliwość składania zamówień za pomocą strony internetowej lub aplikacji mobilnej
  • Integracja z Social Media

🇬🇧

  • SMS payment
  • Mobile application for volunteers
  • Voice assistant for placing orders
  • Mobile application or website orders placing
  • Social Media integration

Diagram użycia / Use Case

Usecase pl Usecase en

Team

Installation

Install mysql

To install mysql follow instructions on this site: How to install mysql on ubuntu Then you need to create database and user for the app. If you are not in the mysql shell use sudo mysql to enter mysql command line. Next run
CREATE DATABASE zakupy_dla_seniora_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
And then you need to create new user by running
CREATE USER 'your_user_name'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
with your password. Finally, grant your user privileges to run queries on created database:
GRANT ALL PRIVILEGES ON zakupy_dla_seniora_db.* TO 'your_user_name'@'localhost';

Create config file

Application is using config.py file for flack variables initialization (like database connection string). This file should be placed in /src/zakupy_dla_seniora/config.py and should be defined as follows:

mysql_user_name = '' # put your mysql user name
mysql_user_password = ''  # put your mysql user password
mysql_server = 'localhost'
mysql_database = 'zakupy_dla_seniora_db'

twilio_sid = ''  # put your twilio sid
twilio_auth_token = ''  # put your twilio auth_token
twilio_phone = '+' # put your twilio phone number

class Config:
    SECRET_KEY = '' # put your secret key
    SQLALCHEMY_DATABASE_URI = f'mysql://{mysql_user_name}:{mysql_user_password}@{mysql_server}/{mysql_database}?charset=utf8mb4'
    SQLALCHEMY_TRACK_MODIFICATIONS = True

Generate your secret key

To generate your secret key run python shell with python3 command and then import secrets.
Then type secrets.token_hex(16) and hit enter. Now copy your secret key and paste it into config.pyfile as SECRET_KEY.

Create Confirmation of shopping deliveryvirtual environment

You should use venv to develop this application. To start virtual environment for this project make sure you are in root folder of zakupy-dla-seniora and use command python3 -m venv venv. Then use source venv/bin/activate to activate your virtual environment.

Install requirements

When you already have your virtual environment activated use pip3 install -r requirements.txt to install all dependencies.

For Mac OS

You should paste it in terminal for exporting dynamic library to avoid error (..darwin..) : 'export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/:$DYLD_LIBRARY_PATH'

Run app

Now to run the app navigate to /src/ and use command python3 run.py


License

License

About


Languages

Language:Python 64.2%Language:HTML 35.8%