cara run
- install dependencies "npm install"
- buat database dengan nama "lending_system"
- ubah variable pada file .env DATABASE_URL=DATABASE_URL="mysql://<mysql_user>:<mysql_password>@localhost:3306/lending_system"
- lalu run npm run migrate "init migration"
- lalu run npm run start::dev
- kalo gagal tanya Alif
untuk menambahkan data student pada database
- ketik npx prisma studio
- akses web yang berjalan
- cari model student
- lalu isi tabel menggunakan ui yang tersedia
- tanya alif kalo gagal note: tidak ada api untuk menambah student, get student
- (practicums.getPracticumStudentCards) /api/practicums/{practicumId}/students/{studentProfileId}/cards -> get student control cards based on the practicum (authorized for assistant and admin)
- (practicums.getStudentPracticumControlCards) /api/cards/{controlCardId} -> get control card detail (authorized for assistant and student)
- (cards.getControlCardDetail) /api/practicums/{practicumId}/cards -> get student own control cards (authorized for student)
- (practicums.getStudentPracticumAttendancesByAdminAndAssistant) /api/practicums/{practicumId}/students/{studentProfileId}/attendances -> get student attendances based on the practicum (authorized for assistant and admin)
- (meetings.addAttendanceForStudentInAMeeting) /api/meetings/{meetingId}/attendances -> post attendances based on the meeting
- (practicums.getPracticumAttendancesForStudent) /api/practicums/{practicumId}/attendances -> get student own attendances (authorized for student)
- (attendances.deleteAttendanceById) /api/attendances/{attendanceId} -> delete attendance by id (authorized for assistant and admin)
- (users.getUserInfoByAdminAndAssistant) /api/users/{username} -> get user info (authorized for assistant and admin)
- (practicums.removeAssistantFromPracticum) /api/practicums/{practicumId}/assistants/{username} -> remove assistants from practicum (authorized for admin)
- (classrooms.deleteClassroomById) /api/classes/{classId} -> delete classroom by id (authorized for admin)
- (assistance groups.removeStudentFromGroup) /api/groups/{groupId}/students/{username} -> remove students from group (authorized for admin)
- (meetings.getAttendancesByMeetingId) /api/meetings/{meetingId}/attendances -> get students attendance list by meeting id (authorized for admin and assistant)
- (meetings.insertAttendanceForAllStudentInMeeting) /api/meetings/{meetingId}/attendances/v2 -> add all students attendances in one meeting default status ABSENT (authorized for admin)
- (practicums.getPracticumAttendances) /api/practicums/{practicumId}/meetings/attendances -> get practicum meetings (authorized for admin)
- (attendace.getAttendanceById) /api/attendances/{attendanceId} -> get attendance by id (authorized for admin, asssistant, and student)
- (meetings.addResponseOrQuizScore) /api/meetings/{meetingId}/scores -> add quiz or response score (authorizd for assistant)
- (assistance.getAssistanceById) /api/assistances/{assistanceId} -> get assistance by id (authorized for admin, asssistant, and student)
- (assistance.updateAssistance) /api/assistances/{assistanceId} -> update assistance (authorized for assistant)
- (meetings.getMeetingControlCards) /api/meetings/{meetingId}/cards -> get students control card by meeting (authorized for assistant)
- (practicum.scorePracticumExam) /api/practicums/{practicumId}/scores -> input exam score for student (authorized for assistant)