https://ninja-aid.herokuapp.com/
https://t.me/STIW3054_A211_JavaFive_bot
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.
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.
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
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.
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.
Rapid Application Development (RAD) is a development methodology that emphasizes rapid prototyping and feedback over lengthy development and testing cycles.
-
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.
-
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.
-
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.
-
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.
| 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% |
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.
| 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 |
-
Writing your first Django app, part 1. (2021). Retrieved from django: https://docs.djangoproject.com/en/3.2/intro/tutorial01/
-
Writing your first Django app, part 2. (2021). Retrieved from django: https://docs.djangoproject.com/en/3.2/intro/tutorial02/
-
Writing your first Django app, part 3. (2021). Retrieved from django: https://docs.djangoproject.com/en/3.2/intro/tutorial03/
-
Writing your first Django app, part 4. (2021). Retrieved from django: https://docs.djangoproject.com/en/3.2/intro/tutorial04/
-
Writing your first Django app, part 5. (2021). Retrieved from django: https://docs.djangoproject.com/en/3.2/intro/tutorial05/
-
Writing your first Django app, part 6. (2021). Retrieved from django: https://docs.djangoproject.com/en/3.2/intro/tutorial06/
-
Writing your first Django app, part 7. (2021). Retrieved from django: https://docs.djangoproject.com/en/3.2/intro/tutorial07/
-
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
-
Navbar. (2021). Retrieved from Bootstrap: https://getbootstrap.com/docs/5.0/components/navbar/
-
Tables. (2021). Retrieved from Bootstrap: https://getbootstrap.com/docs/5.0/content/tables/
-
Spacing. (2021). Retrieved from Bootstrap: https://getbootstrap.com/docs/5.0/utilities/spacing/
-
Images. (2021). Retrieved from Bootstrap: https://getbootstrap.com/docs/5.0/content/images/
-
Bootstrap 5 Buttons. (2021). Retrieved from w3schools: https://www.w3schools.com/bootstrap5/bootstrap_buttons.php
-
Configuring Django Apps for Heroku. (2020, Jun 03). Retrieved from Heroku Dev Center: https://devcenter.heroku.com/articles/django-app-configuration
-
Bots: An introduction for developers. (2021). Retrieved from Telegram: https://core.telegram.org/bots
-
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
-
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
-
How to Create and Connect a Telegram Chatbot. (2020, Nov 27). Retrieved from SendPulse: https://sendpulse.com/knowledge-base/chatbot/create-telegram-chatbot
-
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
-
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
-
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
-
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
-
teacher, S. (2021, August 22). Basics of creating a Telegram bot (with code/Python). Retrieved from YouTube: https://www.youtube.com/watch?v=RD3SyYHDQpo
-
Welcome to Pyrogram. (2021). Retrieved from Pyrogram: https://docs.pyrogram.org/
-
Configuring Django Apps for Heroku. (2020, Jun 03). Retrieved from Heroku Dev Center: https://devcenter.heroku.com/articles/django-app-configuration
-
Get local timezone in django. (2013, February 2). Stack Overflow. https://stackoverflow.com/questions/14657173/get-local-timezone-in-django
-
Asia/Kuala_Lumpur: Time Zone in Malaysia, Current local time. (n.d.). Time Difference. https://www.zeitverschiebung.net/en/timezone/asia--kuala_lumpur
-
HTML input readonly Attribute. (n.d.). W3schools. https://www.w3schools.com/tags/att_input_readonly.asp
-
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
-
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
-
NeuralNine. (2021, August 12). Create Your Own Telegram Bot With Python. YouTube. https://www.youtube.com/watch?v=CNkiPN_WZfA
-
Code Palace. (2021, January 25). Creating a Telegram Bot in Python 3.9 Tutorial (Fast & Easy). YouTube. https://www.youtube.com/watch?v=PTAkiukJK7E
-
Bots: An introduction for developers. (n.d.). Telegram. https://core.telegram.org/bots
-
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/
-
Intial Deploy to heroku. (n.d.). Awesome Open Source. https://awesomeopensource.com/project/AnshumanFauzdar/telegram-bot-heroku-deploy?category. . .
-
Using the Django authentication system | Django documentation | Django. (n.d.). Django Documentation. https://docs.djangoproject.com/en/3.2/topics/auth/default/






