This project is a web application that allows users to request and supply aid. It is developed using Django framework and websockets on Python.
Mustafa Burak Akkaya 2396968
Tayyip Öztürk 2380806
- Python 3.10 or higher
Run commands below on separate terminals.
python3 server/server_3.py
For backend and notification websocket server.python3 django/manage.py runserver
For Django server.
- User registers to the system by providing username and password.
- User logs in to the system by providing username and password that is registered before.
- User can create a campaign by providing title and description by clicking
New Campaign
button.
- User can see all campaigns by clicking
List Campaigns
button.
- User can open a campaign to make miscellaneous request operations by clicking
Open Campaign
button and selecting a campaign from available campaigns' list. - User can close the current campaign if applicable, by clicking
Close Campaign
button.
- User can search an item by providing either item name or synonym. If the search is successful, user can see the item's name and synonyms and, item is automatically added to the campaign otherwise.
- User can update an item by entering the target item name and providing item name and new synonyms.
- User can delete an item by entering the target item name.
- User can add a request by providing item(s) and quantity(ies) by clicking
Add Request
button with the request location selected on the map, urgency of the request and the description.
- User can see all requests by clicking
List Requests
button. Moreover, request info can be accessed via view button for each request in the list.
- User can update a request by clicking
Update Request
button and selecting a request from the list. Then, user can update the request by providing new item(s) and quantity(ies), request location, urgency of the request and the description.
- User can delete a request by clicking
Remove Request
button and selecting a request from the list.
- User can search an area for requests by clicking either Rectangular or Circular button under the
Search
tab. - If Rectangular is selected, user can enter two points' latitude and longitude values to create a rectangular area. By entering the item name and the urgency of the request, user can see all requests in the area.
- If Circular is selected, user can enter a point's latitude and longitude values and a radius value to create a circular area. By entering the item name and the urgency of the request, user can see all requests in the area.
- User can watch future requests for an item by clicking either Rectangular or Circular button under the
Watch
tab. - If Rectangular is selected, user can enter two points' latitude and longitude values to create a rectangular area. By entering the item name and the urgency of the request, user can see all requests in the area with the urgency more severe than or equal to the entered urgency.
- If Circular is selected, user can enter a point's latitude and longitude values and a radius value to create a circular area. By entering the item name and the urgency of the request, user can see all requests in the area with the urgency more severe than or equal to the entered urgency.
- After a request matching the criteria is added to the system, user is notified by a notification message.
- Unwatching a request is also possible by clicking
Unwatch
button under theWatch
tab and selecting a request already watched by the user from the list.
- User can mark an item as available by clicking
Mark Available
button in theRequest Info
page via listing requests. Then, user can enter the item and quantity to mark as available. Availability time and location with the comments are also required. - If a request is available, supplier location can also be seen on the map with the request location.
- If an item is marked as available, it can be seen under the
Available Supplies
tab in the request info page. By clicking on the select button, requester can pick the supply by entering the quantity of the item. If pick quantity is more than available items, number of available items are picked.
- If an item is picked, requester can click
Arrive
button in the request info page to complete the process. If all items in the request are picked and arrived, the request status is changed toCLOSED
.