---
# System prepended metadata

title: final project BE plan

---

# final project BE plan
FE https://hackmd.io/9ayI19mQSmyrytxV9wliaw?edit
github: https://github.com/mymyyle/final-project
drive img: https://drive.google.com/drive/u/0/folders/1BbpZpeL1ogbQGWrUfJxNyP9YhjqA6oKQ
# readme
## User flow (UF)6 😂chưa ktra expired accesstoken? cần k?
1. User can create account with email and password and name 👌❤️
2. User can login with email and password👌❤️
3. User can login with accessToken 👌❤️
4. User can get single user profile by id (login required)👌😂checkid❤️
5. Owner can update own account profile include password👌(except: email)❤️
6. Owner can deactivate own account👌❤️
7. User can get the number of users who have registed.👌

**+** optional: User can see a list of all users

- {{host}}/user
![](https://i.imgur.com/9S3ETYi.png)


- check id
![](https://i.imgur.com/8eE41Ao.png)


----------
## Job Flow (JF)6 +++
1. User can create a job👌😂check link img❤️
2. Author can edit job👌😂check link img❤️
3. Author can deactivate job👌❤️
4. user can get a single job by id job👌😂checkid❤️
5. User can see a list of all jobs❤️ (pagination,sort,search)👌
    - user can sort by acs/decs date
    - user can search by name", "type", "category", "location", "status"😂location include
6. Author can get all own job (pagination,sort,search)👌❤️
    - user can sort by "acs"/"decs" date
    - user can search by name", "type", "category", "location", "status"😂location include

- {{host}}/job
![](https://i.imgur.com/4iczwvQ.png)

------------
## comment flow (CF)5: 14g
1. User can create a comment to job post👌❤️
2. Author of Comment can update that comment👌❤️--> reply bị xóa
3. Author of Comment can delete that comment👌❤️
4. Employer can reply comment👌❤️
5. User can see comment list by jobid (not login required)❤️, pagination👌
    - search by reply === "missing" :-> CHƯA REPLY, GIÚP AUTHOR FILTER


- host/comment
--> :id = _commentId
![](https://i.imgur.com/MURbUX2.png)

---------------------
## Application flow (CF)7
1. user can apply job👌❤️
2. user can  cancel job👌❤️
3. author can respond request👌❤️
4. author can get list application By JobId❤️ +search by status👌
5. user can get own application List ❤️+search by status👌
6. user can get application by jobId👌❤️
7. user can get all application + filter by month + status

- host/application
- 
![](https://i.imgur.com/guRkf9q.png)

--------------------------------
## Rating
1. user can create Rating with job status done and application status approved👌
2. get rating list of user by type👌

----> chua pagination
![](https://i.imgur.com/JxJWGyz.png)



- nguồn APi
cac post
https://www.facebook.com/tinhnguyenvien.ttpq
https://www.facebook.com/groups/VNV.Community/
https://ivolunteervietnam.com/the-liberosis-mo-don-tuyen-thanh-vien-gen-1-0.html

- type
https://www.hachettebookgroup.com/travel/trip-ideas/types-of-volunteer-opportunities/

# schema:

**1. users collection:**
_userId:""
name: required
email: required
password: required
avatarUrl:
aboutMe:
isDeleted:

    employerRatingId: { type: Array },
    totalEmployerScore: { type: Number, default: 0 },

    employeeRatingId: { type: Array },
    totalEmployeeScore: { type: Number, default: 0 },
    allStart: { type: Number, default: 0 },




**2. jobs collection**
_jobId:
authorId:
name:
type: fulltime, parttime, temporary
category: community, Environment, Health care
description:
location:
imageUrl:
status: "done","ongoing"
isDeleted:
detailedInformation:
isFeatured
lgn
lat


timestamp

    lgn: { type: Number },
    lat: { type: Number },

**3. comment collection**: 
_commentId:
jobId: 
authorCommentId:
content:
reply:
isEdited:
timestamp

**4. Apllication**: 
jobId
employerId
candidateId
message:
status: "pending", "approved" , "rejected"

isEmployerRated : true false
isEmployeeRated: true flase

**5. rating**
jobId 
voterId
acceptorId
acceptorType: 
      enum: ["employee", "employer"],
    },
rating:
comment:


# FE

## homepage
1. 
![](https://i.imgur.com/CnzYjNW.png)

![](https://i.imgur.com/pyaEPoX.png)
navbar: logo, 
home, jobs, Post a job, profile/login

https://www.volnow.org/
 
## all job: **img???**
card: https://mui.com/material-ui/react-card/#complex-interaction
![](https://i.imgur.com/cLUcliI.png)
or
![](https://i.imgur.com/aQA6HeM.png)

card list: job routing
![](https://i.imgur.com/3bwOlmp.png)


search, filter: coder store
![](https://i.imgur.com/GVz08cR.png)

### detail job
![](https://i.imgur.com/U7V2Cnc.png)

![](https://i.imgur.com/k2fwfTM.png)
button: cột phải


2 cột: bên trái cmt | bên p related job
![](https://i.imgur.com/tHySvaL.png)
Q&A
![](https://i.imgur.com/5xB9DJh.png)

cmt

## login
![](https://i.imgur.com/PM6ZORA.png)

### update profile: 

https://jobify-demos.astoundify.com/classic/myaccount/edit-account/
![](https://i.imgur.com/guz03H4.png)
avatarUrl:
aboutMe:

![](https://i.imgur.com/tVKdqQR.png)

## post a job
https://preview.colorlib.com/#jobportal
![](https://i.imgur.com/AwKq3bf.png)

![](https://i.imgur.com/H0TOcXJ.png)

## list of Recruitment
![](https://i.imgur.com/Bzt6kPw.png)

![](https://i.imgur.com/BhmlbTM.png)
show
![](https://i.imgur.com/eMzSTns.png)
thay dấu sao mess 

TH2: 
![](https://i.imgur.com/9uH3vlH.png)

## contact page
https://www.texasvmc.org/contact/
![](https://i.imgur.com/YbCtbb4.png)

## User Profile page
![](https://i.imgur.com/XMdPJP3.png)
số job dã dăng
số job đã dc approved

# fancy Dashbroad
![](https://i.imgur.com/FOiLykn.png)
tổng số bài tuyển --> click ra danh sách
tổng số ứng viên
dưới layout:
About, list cụ thể --> click qua job detail

# hỏi
FE
thiếu mẫu user profile 

BE
![](https://i.imgur.com/MAG781k.png)




# BE ongoing:
- thư cam on pass, fail
- mô tả route access, description blabla 
- validators
- dang gia job
- donate


