Untitled

 avatar
unknown
plain_text
a month ago
1.5 kB
8
Indexable
Extra Fees Backend Structure 

Extra Fees Schema
> name (trim)
> applicableOn (enum:[COURSE, STUDENT])  not editable 
> feesType (enum: [ONE_TIME, REPETITIVE])
> defaultAmount : number
> isActive: boolean (deault: true)
> companyId
> gstDetails: { gstAmount }
> iid (index, required)


Extra Fess Users Schema
> userId (index, req)
> extraFeesId (inex, req)
> iid
> status (enum:[pending, paid, cancel], default: pending)
> courseId
> userCourseId
> initialAmount 
> paidAmount (default:0)
> remark
> createdBy
> iniitalAmountHistory:[ {amount, updateBy, remark, updatedAt}]


If Course wise then 
BE: add key extraFeesIds in course schema
FE: In the course menu add button Assgin Extra Fees then open modal and select active & course wise extra fees then save extraFeesIds

=> When reassigning the extra fee on a course, we need to delete any existing extra fee IDs that are either in a pending or canceled state. Then, we create a new extra fee entry for the all course user with the updated extra fee IDs.

FE=>
> User Extra Fees Report  (DS)
> Collect Extra Fees modal common  
> User Extra Fees payment report (DS)
On Collect Payment
> Create doc in the payment schema with orderType: EXTRA_FEES & extraFeesUserId
> After Success payment add paid amount in the extra fees user doc

Handling in the Student profile
> Create a tab Extra Fees
> Assing Fees (common modal)
> List of extra fees & edit option for only amont with remark


Leave a Comment