Skip to content

TanYiQing/Post-Disaster-Control-Center-System-with-Telegram-Bot

Repository files navigation

Requirements for Group Project

Read the instruction

Heroku Link:

https://ninja-aid.herokuapp.com/

Telegram Bot:

https://t.me/STIW3054_A211_JavaFive_bot

Group Info:

Name Matric No Phone Number Role Image
Tan Yi Qing 270607 +60103373137 Leader tan's photo
Ilham Muslim Maulana Rachmat 268954 +62895612852200 Member ilham's photo
Tan Jia Earn 269509 +60174422928 Member earn's photo
Wong Fang Man 271221 +60164497347 Member wong's photo
Ng Shen Meng 271059 +60193510295 Member meng's photo

Introduction

At the end of each year in Malaysia, monsoons cause frequent occurrences of natural disasters and cause floods. In addition, property loss of residents is inevitable. In response, penghulu in the district formed a post-disaster rescue team to solve the difficulties of the residents. However, with the current methods in black and white, rescue operations cannot be effective and carried out quickly. In this era of advanced technology, a system can be developed to help Penghulu and the residents to solve all their difficulties.

Pusat Kawalan Operasi Bencana (PKOB) is a centralized system that can help the penghulu of a district quickly engage in post-disaster relief operations. This system not only can assist the victims quickly but also avoid the phenomenon of wasting resources. The centralized victims’ data and assistance records can help penghulu to respond faster and trace back the records. Besides that, victims can also apply for assistance through the online method, this saves effort and time compared to the traditional black and white method.

Problem Statement

Under the current situation, post-disaster rescue operations have encountered various difficulties. One of the problems is that the victims cannot get assistance in time. Using the current black and white method, assistance cannot be delivered to the victim in a very fast time because the management needs time to process the data and assign the type of assistance to the victim.

Secondly, a family gets a lot of the same help, which is also one of the common problems that lead to uneven distribution of resources. This is because data and records are not centrally or regularly arranged, so the cost of post-disaster rescue operations may be as high as twice, which also leads to a waste of resources.

The victim's data and records are incomplete. This led to inaccurate positioning of rescue operations after the disaster. This also made penghulu unable to have complete information about the victims, and it became impossible to trace back to the previous record.

These problems are critical because they can cause inefficiency of operation and raise costs. The cost from the aspect of time and money of post-disaster relief operations in the current situation can reach up to twice as high because of inefficiency, inaccuracy, and uncentralized data which may cause duplication of assistance given.

Objectives

The objectives of this project are to:

  • To analyse requirements for Pusat Kawalan Operasi Bencana (PKOB)
  • To design a web-based application to centralized record
  • To develop a web-based application to centralized record
  • To evaluate a web-based application to centralized record

Project Scope

The development time of the PKOB system is from October 2021 to January 2022. This system is a web application as the main platform, Heroku as a web server, and TelegramBot as the auxiliary. This system will be managed by penghulu, and the target users are victims. The system will store all the information of the victims, the record of assistance, and so on. The function of this system is that penghulu can key in data, update the progress. Beside that, victims can apply for many assistance. The type of assistance that can apply is house repair, new house, monthly assistance and food supply. When the penghulu updates the progress, victims will be notified. The main purpose of developing this application is that penghulu can efficiently retrieve information and avoid data duplication. Second, the data can be read clearly and easily.

Project Significance (Impact to Community)

The significance of this project is that the PKOB system is more efficient and more efficient than the traditional black and white method. PKOB can replace the existing traditional black and white method because all data of victims and assistance records will be centralized which can help penghulu to respond faster and traceback easily. In addition, this system can effectively avoid data duplication. This can prevent those who use loopholes to obtain more benefits, resulting in other people not being able to enjoy the right to aid. Then, the PKOB system also provides an online request function, which allows victims to obtain the assistance they really need and save time. With these, a series of problems will also be solved such as wasting resources and reaching to help victims quickly.

Project Methodology

Rapid Application Development (RAD) is a development methodology that emphasizes rapid prototyping and feedback over lengthy development and testing cycles.

rapid application development

  1. Define the requirements

    The rapid application development cycle begins with stakeholders defining a loose set of project requirements. Requirements include goals, expectations, timelines, and budget. The client provides a vision and explains the problem in the existing method for PKOB. This stage seeks for a broad requirement for the system.

  2. Prototype

    After having a broad requirement and the project of PKOB has been scoped, our team will begin developing prototypes with certain main features as fast as possible which later will be shown to the client. This is to ensure the client’s needs are being met.

  3. Construction

    Rapid construction is where application coding, system testing, and unit integration occurs, converting prototype and beta systems into a working model. Team works with the client to collect feedback on interface and functionality and improve all aspects of the PKOB system. At this stage we refine the prototype and make it ready to deliver. All kinds of required modifications and enhancements are made in phase.

  4. Cutover

    The final phase is where development teams move components to a live production environment, where any necessary full-scale testing or training can take place. In this case, the system of PKOB will be accessible for the public to be used.

Cost Estimation

Units/Hrs//Year Cost/Unit/Hr/Year Subtotals Totals % of Total
**1. Project
Management** RM10030 41%
Project manager
Project team members
180
720
RM15
RM10
RM2700
RM7200
Contractors (10% of software development and testing) RM200
**2.
Hardware** RM90 1%
2.1 Handheld devices - - -
2.2 Servers (Cpanel) 1 RM90 RM90
**3.
Software** RM1050 4%
3.1 Licensed software 1 RM50 RM50
3.2 Software development RM1000
**4. Testing (10% of total hardware and software
costs)** RM1000 RM1000 4%
**5. Training and
Support** RM7700 32%
Trainee cost 100 RM5 RM500
Travel cost - - RM500
Project team members 720 RM10 RM7200
**6. Reserves (20% of total
estimate)** RM3988 17%
Total project cost estimate RM23928 100%

Gantt Chart

gantt chart

File Structure for Telegram Bot

File Structure for Web Application

Database Design

database design

Project Limitation

Conclusion

Ninja Aid is a centralized system that helps penghulu to quickly view the list of victims. The system not only quickly helps penghulu know if the victim is being helped, but also avoids wasting resources. Victim information and assistance records can help penghulu track those records faster. In addition, victims can also apply for help online, saving effort and time compared to traditional application methods.

Youtube Presentation

Facebook

Number of Issues

List of Python packages (including the version) used for this system

Package Version
asgiref 3.4.1
Django 4.0
gunicorn 20.1.0
numpy 1.22.0
pandas 1.3.5
pip 21.2.3
psycopg2 2.9.2
python-dateutil 2.8.2
pytz 2021.3
setuptools 57.4.0
six 1.16.0
sqlparse 0.4.2
tzdata 2021.5

References (Not less than 30)

  1. Writing your first Django app, part 1. (2021). Retrieved from django: https://docs.djangoproject.com/en/3.2/intro/tutorial01/

  2. Writing your first Django app, part 2. (2021). Retrieved from django: https://docs.djangoproject.com/en/3.2/intro/tutorial02/

  3. Writing your first Django app, part 3. (2021). Retrieved from django: https://docs.djangoproject.com/en/3.2/intro/tutorial03/

  4. Writing your first Django app, part 4. (2021). Retrieved from django: https://docs.djangoproject.com/en/3.2/intro/tutorial04/

  5. Writing your first Django app, part 5. (2021). Retrieved from django: https://docs.djangoproject.com/en/3.2/intro/tutorial05/

  6. Writing your first Django app, part 6. (2021). Retrieved from django: https://docs.djangoproject.com/en/3.2/intro/tutorial06/

  7. Writing your first Django app, part 7. (2021). Retrieved from django: https://docs.djangoproject.com/en/3.2/intro/tutorial07/

  8. RaddyTheBrand. (2020, Jun 25). Learn Bootstrap in less than 20 minutes - Responsive Website Tutorial. Retrieved from YouTube: https://www.youtube.com/watch?v=eow125xV5-c

  9. Navbar. (2021). Retrieved from Bootstrap: https://getbootstrap.com/docs/5.0/components/navbar/

  10. Tables. (2021). Retrieved from Bootstrap: https://getbootstrap.com/docs/5.0/content/tables/

  11. Spacing. (2021). Retrieved from Bootstrap: https://getbootstrap.com/docs/5.0/utilities/spacing/

  12. Images. (2021). Retrieved from Bootstrap: https://getbootstrap.com/docs/5.0/content/images/

  13. Bootstrap 5 Buttons. (2021). Retrieved from w3schools: https://www.w3schools.com/bootstrap5/bootstrap_buttons.php

  14. Configuring Django Apps for Heroku. (2020, Jun 03). Retrieved from Heroku Dev Center: https://devcenter.heroku.com/articles/django-app-configuration

  15. Bots: An introduction for developers. (2021). Retrieved from Telegram: https://core.telegram.org/bots

  16. Batra, K. (2020, Sep 3). Part 1: How to create a Telegram Bot in Python in under 10 minutes. Retrieved from codementor: https://www.codementor.io/@karandeepbatra/part-1-how-to-create-a-telegram-bot-in-python-in-under-10-minutes-19yfdv4wrq

  17. Dojo, C. (2021, May 5). How To Create A Telegram Bot With Python. Retrieved from YouTube: https://www.youtube.com/watch?v=NwBWW8cNCP4&t=682s

  18. How to Create and Connect a Telegram Chatbot. (2020, Nov 27). Retrieved from SendPulse: https://sendpulse.com/knowledge-base/chatbot/create-telegram-chatbot

  19. Palace, C. (2021, August 17). How to create a Telegram Bot for FREE in Python - Bot Father. Retrieved from YouTube: https://www.youtube.com/watch?v=URPIZZNr_2M&list=PL4KX3oEgJcfeyz484TYEQULx99yFWudTN&index=2

  20. Palace, C. (2021, August 17). How to create a Telegram Bot for FREE in Python - Project Setup. Retrieved from YouTube: https://www.youtube.com/watch?v=8nm1LJIijc0&list=PL4KX3oEgJcfeyz484TYEQULx99yFWudTN&index=3

  21. Palace, C. (2021, August 17). How to create a Telegram Bot for FREE in Python - Commands & Messaging. Retrieved from YouTube: https://www.youtube.com/watch?v=50npIbrXmnI&list=PL4KX3oEgJcfeyz484TYEQULx99yFWudTN&index=4

  22. Palace, C. (2021, August 17). How to create a Telegram Bot for FREE in Python - Custom Responses. Retrieved from YouTube: https://www.youtube.com/watch?v=-W25XN3F0IY&list=PL4KX3oEgJcfeyz484TYEQULx99yFWudTN&index=5

  23. teacher, S. (2021, August 22). Basics of creating a Telegram bot (with code/Python). Retrieved from YouTube: https://www.youtube.com/watch?v=RD3SyYHDQpo

  24. Welcome to Pyrogram. (2021). Retrieved from Pyrogram: https://docs.pyrogram.org/

  25. Configuring Django Apps for Heroku. (2020, Jun 03). Retrieved from Heroku Dev Center: https://devcenter.heroku.com/articles/django-app-configuration

  26. Get local timezone in django. (2013, February 2). Stack Overflow. https://stackoverflow.com/questions/14657173/get-local-timezone-in-django

  27. Asia/Kuala_Lumpur: Time Zone in Malaysia, Current local time. (n.d.). Time Difference. https://www.zeitverschiebung.net/en/timezone/asia--kuala_lumpur

  28. HTML input readonly Attribute. (n.d.). W3schools. https://www.w3schools.com/tags/att_input_readonly.asp

  29. How to get the first 2 letters of a string in Python? (2014, January 8). Stack Overflow. https://stackoverflow.com/questions/20988835/how-to-get-the-first-2-letters-of-a-string-in-python

  30. How to: Print the last two digits of the year. (n.d.). Kite. https://www.kite.com/python/examples/1815/time-print-the-last-two-digits-of-the-year

  31. NeuralNine. (2021, August 12). Create Your Own Telegram Bot With Python. YouTube. https://www.youtube.com/watch?v=CNkiPN_WZfA

  32. Code Palace. (2021, January 25). Creating a Telegram Bot in Python 3.9 Tutorial (Fast & Easy). YouTube. https://www.youtube.com/watch?v=PTAkiukJK7E

  33. Bots: An introduction for developers. (n.d.). Telegram. https://core.telegram.org/bots

  34. Welcome to Python Telegram Bot’s documentation! — python-telegram-bot 13.9 documentation. (n.d.). Python-Telegram-Bot. https://python-telegram-bot.readthedocs.io/en/stable/

  35. Intial Deploy to heroku. (n.d.). Awesome Open Source. https://awesomeopensource.com/project/AnshumanFauzdar/telegram-bot-heroku-deploy?category. . .

  36. Using the Django authentication system | Django documentation | Django. (n.d.). Django Documentation. https://docs.djangoproject.com/en/3.2/topics/auth/default/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6