This is a document specifying describing the application and listing the functional requirements. I want you to remember this as context when I give you the code in the next prompts.

Abstract description 

SecureHelp offers a secure solution for administering volunteers and refugees in a refugee ¡ 

 

Medical Services 

Transport Services 

Food Services 

Shelter Services 

 

Refugees can register that they need one or more of these services, and then volunteers with adequate competence can use SecureHelp to find refugees they can help. 

 

To ensure that people with dishonest intentions do not abuse the system to contact the refugees, an administrator must approve of a registered volunteer’s competence. Volunteers can apply for competence verification in the application. 

Technology 

 

Back-end: Django 3 with Django Rest Framework 

Front-end: HTML5/CSS/JS/React/NGINX 

 Roles 

 

A user can be one of the roles given below: 

 

Refugee 

Refugees need help with one or more services and can apply for this help in the application. 

Volunteer 

Volunteers can apply for competence verification for the 4 different services the refugee camp offers. When the competence is verified by an administrator, volunteers can see the help requests from the refugees, and can assign a help request to themselves. When the help is done, the volunteer marks the request is as finished. 

Administrator 

Administrators can approve competence verification requests from volunteers. One cannot register as an admin in the application. To become an admin, you must get an existing admin to create a user for you or ask a developer to create one. 

Functional requirements 

 

ID 

Title 

Role(s) 

Description 

FR1 

Register user 

Volunteer, Refugee 

A person without an account can register as a new user. You must register as either a refugee or a volunteer. 

After registering, the user must confirm their email before they can log in and start using the application. The following attributes are required when registering: 

Email 

Username 

Password 

Account type (refugee or volunteer) 

FR2 

Log in 

All 

A registered user can log in to the application. 

FR3 

Apply for competence certification 

Volunteer 

Volunteers can apply for verification for competence of one or more of the 4 services (medical, transport, food, shelter) 

FR5 

Publish a request for help 

Refugee 

Refugees can publish requests for help with one or more of the 4 services (medical, transport, food, shelter) 

FR6 

View help requests 

Volunteer 

Volunteers can see the help requests from the refugees but are only allowed to see requests for services they have an approval for. 

FR6 

View own help request 

Refugee 

Refugees can view their own, and only their own help requests. 

FR7 

Accept help request 

Volunteer 

Volunteers can accept the help requests from the refugees. A help request can only have one assigned volunteer. 

FR8 

Mark help request as finished 

Volunteer 

Volunteers can mark an active accepted help request as finished after they have carried out the work. 

FR9 

View their own competence verification request 

Volunteer 

Volunteers can view their own, and only their own competence verification requests. 

FR10 

View all pending competence verification requests 

Administrator 

Admins can view all competence approval requests. 

FR11 

Approve/Deny competence requests 

Administrator 

Admins can approve or deny requests for competence verification. 

FR12 

Delete own help request 

Refugee 

Refugees can delete their own, and only their own help requests. 

FR13 

Delete their own competence verification request 

Volunteer 

Volunteers can delete their own, and only their own competence verification requests. 

FR14 

Upload documents about themselves 

Refugee / Volunteer 

Refugees and Volunteers can upload PDF documents with info about themselves like passports and certifications. 

FR15 

View their own documents 

Refugee / Volunteer 

Refugees and Volunteers can view/download their own PDF documents. 

FR16 

View documents for a refugee they are helping 

Volunteer 

Volunteers can view/download PDF documents which are owned by a refugee they are currently helping or have helped before. 

FR17 

Delete own documents 

Refugee / Volunteer 

 

Refugees and Volunteers users can delete their own uploaded documents 

FR18 

Reset password 

All 

If a user has forgotten the password, a reset link can be sent by email.
이 문서는 애플리케이션을 설명하고 기능 요구 사항을 나열하는 문서입니다. 다음 프롬프트에서 코드를 제공할 때 이를 컨텍스트로 기억해 두시기 바랍니다.요약 설명 SecureHelp는 자원봉사자와 난민을 관리하기 위한 안전한 솔루션을 난민 ¡  의료 서비스 교통 서비스 음식 서비스 쉼터 서비스  난민은 이러한 서비스 중 하나 이상이 필요하다고 등록할 수 있으며, 적절한 역량을 갖춘 자원봉사자는 SecureHelp를 사용하여 도움을 줄 수 있는 난민을 찾을 수 있습니다.  부정한 의도를 가진 사람들이 난민에게 연락하기 위해 시스템을 악용하지 않도록 관리자는 등록된 자원봉사자의 역량을 승인해야 합니다. 자원봉사자는 신청서에서 역량 검증을 신청할 수 있습니다. 기술  백엔드: 장고 3 및 장고 레스트 프레임워크 프론트엔드: HTML5/CSS/JS/React/NGINX  역할  사용자는 아래 주어진 역할 중 하나가 될 수 있습니다:  난민 난민은 하나 이상의 서비스에 대한 도움이 필요하며 애플리케이션에서 이러한 도움을 신청할 수 있습니다. 자원봉사자 자원봉사자는 난민 캠프에서 제공하는 4가지 서비스에 대한 역량 검증을 신청할 수 있습니다. 관리자가 역량 검증을 완료하면 자원봉사자는 난민들의 도움 요청을 확인할 수 있으며, 자신에게 도움 요청을 할당할 수 있습니다. 도움이 완료되면 자원봉사자는 요청이 완료된 것으로 표시합니다. 관리자 관리자는 자원봉사자의 역량 확인 요청을 승인할 수 있습니다. 애플리케이션에서 관리자로 등록할 수 없습니다. 관리자가 되려면 기존 관리자가 사용자를 만들어 주거나 개발자에게 관리자를 만들어 달라고 요청해야 합니다. 기능 요구 사항  ID 직함 역할(들) 설명 FR1 사용자 등록 자원봉사자, 난민 계정이 없는 사람도 새 사용자로 등록할 수 있습니다. 난민 또는 자원봉사자로 등록해야 합니다. 등록 후 사용자는 이메일을 확인해야 로그인하여 애플리케이션 사용을 시작할 수 있습니다. 등록할 때 다음 속성이 필요합니다: 이메일 사용자 이름 비밀번호 계정 유형(난민 또는 자원봉사자) FR2 로그인 모두 등록된 사용자가 애플리케이션에 로그인할 수 있습니다. FR3 역량 인증 신청하기 자원봉사자 자원봉사자는 4가지 서비스(의료, 교통, 음식, 쉼터) 중 하나 이상의 역량 인증을 신청할 수 있습니다. FR5 도움 요청 게시 난민 난민은 4가지 서비스(의료, 교통, 식량, 쉼터) 중 하나 이상에 대한 도움 요청을 게시할 수 있습니다. FR6 도움 요청 보기 자원봉사자 자원봉사자는 난민의 도움 요청을 볼 수 있지만, 자신이 승인한 서비스에 대한 요청만 볼 수 있습니다. FR6 자신의 도움 요청 보기 난민 난민은 자신의 도움 요청만 볼 수 있습니다. FR7 도움 요청 수락 자원봉사자 자원봉사자는 난민의 도움 요청을 수락할 수 있습니다. 도움 요청에는 한 명의 자원봉사자만 배정할 수 있습니다. FR8 도움 요청을 완료로 표시 자원봉사자 자원봉사자는 수락된 도움 요청을 작업을 수행한 후 완료된 것으로 표시할 수 있습니다. FR9 자신의 역량 검증 요청 보기 자원 봉사자 자원 봉사자는 자신의 역량 검증 요청만 볼 수 있습니다. FR10 보류 중인 모든 역량 검증 요청 보기 관리자 관리자는 모든 역량 승인 요청을 볼 수 있습니다. FR11 역량 요청 승인/거부 관리자 관리자는 역량 검증 요청을 승인하거나 거부할 수 있습니다. FR12 자신의 도움 요청 삭제하기 난민 난민은 자신의 도움 요청만 삭제할 수 있습니다. FR13 자신의 역량 확인 요청 삭제 자원봉사자 자원봉사자는 자신의 역량 확인 요청만 삭제할 수 있습니다. FR14 자신에 대한 문서 업로드 난민/자원봉사자 난민과 자원봉사자는 여권, 자격증 등 자신에 대한 정보가 포함된 PDF 문서를 업로드할 수 있습니다. FR15 자신의 문서 보기 난민 / 자원봉사자 난민과 자원봉사자는 자신의 PDF 문서를 보거나 다운로드할 수 있습니다. FR16 돕고 있는 난민의 문서 보기 자원봉사자 자원봉사자는 현재 돕고 있거나 이전에 도운 적이 있는 난민이 소유한 PDF 문서를 보거나 다운로드할 수 있습니다. FR17 자신의 문서 삭제 난민/자원봉사자  난민 및 자원봉사자 사용자는 자신이 업로드한 문서를 삭제할 수 있습니다. FR18 비밀번호 재설정 모두 사용자가 비밀번호를 잊어버린 경우 이메일로 비밀번호 재설정 링크를 보낼 수 있습니다.