├── .DS_Store ├── .gitignore ├── .gitignore.txt ├── .hintrc ├── client ├── .eslintrc.cjs ├── .gitignore ├── .prettierrc ├── .yarnrc.yml ├── README.md ├── index.html ├── package.json ├── postcss.config.js ├── public │ ├── 404.json │ ├── _redirects │ ├── clublogo.png │ ├── confSidebarLogo.png │ ├── dm │ │ └── it1d-logo.jpeg │ ├── faculty_template.xlsx │ ├── home │ │ ├── classroom-01.webp │ │ ├── classroom-02.webp │ │ └── team │ │ │ ├── Aashima.webp │ │ │ ├── Aditya.webp │ │ │ ├── Akshika.webp │ │ │ ├── Avnash-Kumar.webp │ │ │ ├── Banalaxmi.webp │ │ │ ├── Bhavya.webp │ │ │ ├── Dhruv.webp │ │ │ ├── Dohit.webp │ │ │ ├── Gautam.webp │ │ │ ├── Hari.webp │ │ │ ├── Kashish.webp │ │ │ ├── Lavish.webp │ │ │ ├── Madhesh.webp │ │ │ ├── Pihu.webp │ │ │ ├── Prince.webp │ │ │ ├── Ravinder.webp │ │ │ ├── Sarthak.jpeg │ │ │ ├── Sourabh.webp │ │ │ └── placeholder.jpg │ ├── logo-mark-black.svg │ ├── logo-mark-white.svg │ ├── participant_template.xlsx │ ├── room_template.xlsx │ ├── services │ │ └── institute-website │ │ │ ├── 10_26049.webp │ │ │ ├── 11_51058.webp │ │ │ ├── 12_95830.webp │ │ │ ├── 13_72439.webp │ │ │ ├── 2_8245.webp │ │ │ ├── 3_22930.webp │ │ │ ├── 4_73301.webp │ │ │ ├── 5_59377.webp │ │ │ ├── 6_36624.webp │ │ │ ├── 7_48718.webp │ │ │ ├── 8_87164.webp │ │ │ └── 9_24382.webp │ ├── subject_template.xlsx │ ├── templatebg │ │ ├── basic01.png │ │ ├── basic02.png │ │ ├── basic03.png │ │ ├── basic04.png │ │ ├── basic05.png │ │ ├── basic06.png │ │ ├── basic07.png │ │ ├── basic08.png │ │ ├── basic09.png │ │ ├── basic10.png │ │ ├── basic11.png │ │ ├── basic12.png │ │ ├── basic13.png │ │ ├── basic14.png │ │ ├── basic15.png │ │ ├── basic16.png │ │ ├── premium01.png │ │ ├── premium02.png │ │ ├── premium03.png │ │ ├── premium04.png │ │ ├── premium05.png │ │ ├── premium06.png │ │ └── premium07.png │ ├── vite.svg │ └── xceed_logo_animation.riv ├── src │ ├── App.jsx │ ├── assets │ │ ├── footer.png │ │ ├── footerxceed.svg │ │ ├── header.png │ │ ├── headernitj.svg │ │ ├── logo.png │ │ ├── logocrop.jpeg │ │ ├── nitjheader.svg │ │ ├── react.svg │ │ ├── room_template.xlsx │ │ ├── subject_template.xlsx │ │ └── xceedfooter.svg │ ├── certificatemodule │ │ ├── components │ │ │ └── ProxifiedImage.jsx │ │ └── pages │ │ │ ├── SelectCertficate.jsx │ │ │ ├── UserEvents.jsx │ │ │ ├── UserLogo.jsx │ │ │ ├── UserSignatures.jsx │ │ │ ├── addEvent.jsx │ │ │ ├── certificatedesign.jsx │ │ │ ├── certificatetemplates │ │ │ ├── 03_sarthak │ │ │ │ ├── Bottom.jsx │ │ │ │ ├── Content.jsx │ │ │ │ ├── Top.jsx │ │ │ │ └── index.jsx │ │ │ ├── Certificate.jsx │ │ │ ├── CertificateTemplate2.jsx │ │ │ ├── CertificateTemplates.jsx │ │ │ ├── EditCertificate.jsx │ │ │ ├── akleem │ │ │ │ ├── Bottom.jsx │ │ │ │ ├── Content.jsx │ │ │ │ ├── Top.jsx │ │ │ │ └── index.jsx │ │ │ ├── basic01.jsx │ │ │ ├── basic02.jsx │ │ │ ├── basic03.jsx │ │ │ ├── basic04.jsx │ │ │ ├── basic05.jsx │ │ │ ├── basic06.jsx │ │ │ ├── basic07.jsx │ │ │ ├── basic08.jsx │ │ │ ├── basic09.jsx │ │ │ ├── basic10.jsx │ │ │ ├── basic11.jsx │ │ │ ├── basic12.jsx │ │ │ ├── basic13.jsx │ │ │ ├── basic14.jsx │ │ │ ├── basic15.jsx │ │ │ ├── basic16.jsx │ │ │ ├── premium01.jsx │ │ │ ├── premium02.jsx │ │ │ ├── premium03.jsx │ │ │ ├── premium04.jsx │ │ │ ├── premium05.jsx │ │ │ ├── premium06.jsx │ │ │ └── premium07.jsx │ │ │ ├── certipdfdownload.jsx │ │ │ ├── cmdashboard.jsx │ │ │ ├── eventregistration.jsx │ │ │ ├── participantCerti.jsx │ │ │ ├── participantdataupload.jsx │ │ │ └── signaturemodal.jsx │ ├── components │ │ ├── footer.jsx │ │ ├── header.jsx │ │ ├── home │ │ │ ├── About.jsx │ │ │ ├── Footer.jsx │ │ │ ├── Hero.jsx │ │ │ ├── JoinUs.jsx │ │ │ ├── Navbar.jsx │ │ │ ├── RevenueDistribution.jsx │ │ │ ├── Services │ │ │ │ ├── EnquireModal.jsx │ │ │ │ ├── Features │ │ │ │ │ ├── CardSlider.jsx │ │ │ │ │ ├── FeatureCard.jsx │ │ │ │ │ ├── index.jsx │ │ │ │ │ └── style.css │ │ │ │ ├── ServiceCard.jsx │ │ │ │ ├── ServiceHero.jsx │ │ │ │ └── index.jsx │ │ │ ├── StarryBackgroundAnimation.jsx │ │ │ ├── TeamSection │ │ │ │ ├── Team.jsx │ │ │ │ ├── TeamCard.jsx │ │ │ │ └── index.jsx │ │ │ ├── Tree │ │ │ │ ├── Components │ │ │ │ │ └── modal.jsx │ │ │ │ └── Tree.jsx │ │ │ └── animation.css │ │ ├── login │ │ │ ├── FormHeader.jsx │ │ │ ├── LoginForm.jsx │ │ │ └── LogoAnimation.jsx │ │ └── ui │ │ │ └── home │ │ │ └── SectionHeader.jsx │ ├── conferencemodule │ │ ├── Tabs │ │ │ ├── Accomodation.jsx │ │ │ ├── Annoumcement.jsx │ │ │ ├── Awards.jsx │ │ │ ├── Committees.jsx │ │ │ ├── CommonTemplate.jsx │ │ │ ├── ConferencePage.jsx │ │ │ ├── Contacts.jsx │ │ │ ├── EventDates.jsx │ │ │ ├── Events.jsx │ │ │ ├── HomeConf.jsx │ │ │ ├── Images.jsx │ │ │ ├── Location.jsx │ │ │ ├── NavbarConf.jsx │ │ │ ├── Participants.jsx │ │ │ ├── Souvenir.jsx │ │ │ ├── Speaker.jsx │ │ │ ├── Sponsors.jsx │ │ │ ├── SponsorshipRates.jsx │ │ │ └── dummy.js │ │ ├── components │ │ │ ├── LoadingIcon.jsx │ │ │ └── Sidebar.jsx │ │ ├── layout │ │ │ ├── DashboardLayout.jsx │ │ │ └── eodashboard.jsx │ │ └── utils │ │ │ ├── customStyles.js │ │ │ ├── formatDate.js │ │ │ └── tailwindUtils.js │ ├── constants │ │ ├── members.js │ │ └── services.jsx │ ├── dashboard │ │ ├── ForgotPassword.jsx │ │ ├── allotedroles.jsx │ │ ├── index.mjs │ │ ├── login.css │ │ ├── login.jsx │ │ ├── register.jsx │ │ ├── superadmin.jsx │ │ └── userManagement.jsx │ ├── diabeticsModule │ │ ├── api │ │ │ ├── config.js │ │ │ ├── dailyDosageApi.js │ │ │ ├── doctorApi.js │ │ │ ├── hospitalApi.js │ │ │ ├── patientApi.js │ │ │ └── sickDayApi.js │ │ ├── components │ │ │ ├── DMNavbar.jsx │ │ │ ├── DailyDosageForm.jsx │ │ │ ├── DoctorForm.jsx │ │ │ ├── DoctorLoginForm.jsx │ │ │ ├── GamificationForm.jsx │ │ │ ├── HospitalForm.jsx │ │ │ ├── LoginPage.jsx │ │ │ ├── PatientForm.jsx │ │ │ ├── PatientLoginForm.jsx │ │ │ ├── SickDayForm.jsx │ │ │ ├── admin │ │ │ │ ├── AdminDashboard.jsx │ │ │ │ ├── DoctorDetailView.jsx │ │ │ │ └── HospitalDetailView.jsx │ │ │ ├── common │ │ │ │ └── StatCard.jsx │ │ │ ├── doctor │ │ │ │ ├── DoctorDashboard.jsx │ │ │ │ └── PatientDetailView.jsx │ │ │ └── patient │ │ │ │ ├── PatientDashboard.jsx │ │ │ │ └── PatientHistory.jsx │ │ ├── pages │ │ │ ├── AdminDashboard.jsx │ │ │ ├── DoctorDashboard.jsx │ │ │ ├── DoctorDetailView.jsx │ │ │ ├── HospitalDetailView.jsx │ │ │ ├── LoginPage.jsx │ │ │ ├── PatientDashboard.jsx │ │ │ ├── PatientDetailView.jsx │ │ │ └── PatientHistory.jsx │ │ └── utils │ │ │ └── statusUtils.js │ ├── fileUpload │ │ └── fileUploads.jsx │ ├── filedownload │ │ ├── chakrapdf.jsx │ │ ├── downloadmergedpdf.js │ │ ├── downloadpdf.js │ │ ├── downloadsummary.js │ │ ├── filedownload.jsx │ │ ├── makepdf.jsx │ │ ├── mergepdf.js │ │ ├── mergepdfdocuments.jsx │ │ └── pdfMakeInitializer.js │ ├── getenvironment.js │ ├── index.css │ ├── main.jsx │ ├── nirf │ │ └── rankings.jsx │ ├── pages │ │ ├── ErrorPage.jsx │ │ ├── Home.jsx │ │ └── Service.jsx │ ├── platform │ │ ├── Form.jsx │ │ └── treeForm.jsx │ ├── quizModule │ │ ├── components │ │ │ ├── error │ │ │ │ ├── Error.jsx │ │ │ │ └── error.css │ │ │ ├── footer │ │ │ │ └── Footer.jsx │ │ │ ├── navbar │ │ │ │ ├── Navbar.jsx │ │ │ │ └── navbar.css │ │ │ ├── notification │ │ │ │ ├── notification.css │ │ │ │ └── notification.jsx │ │ │ ├── privateroutes │ │ │ │ ├── PrivateRoute.jsx │ │ │ │ └── studentprofilechecker.jsx │ │ │ ├── quill │ │ │ │ ├── QuillToolbar.jsx │ │ │ │ ├── quillEditor.jsx │ │ │ │ ├── viewer.css │ │ │ │ └── viewer.jsx │ │ │ ├── security │ │ │ │ └── noRightClick.jsx │ │ │ ├── styles │ │ │ │ ├── LeftNavigationPanel.css │ │ │ │ ├── Navbar.css │ │ │ │ ├── rightPanel.css │ │ │ │ └── summary.css │ │ │ ├── summary │ │ │ │ ├── LeftNavigationPanel.jsx │ │ │ │ ├── Summary.jsx │ │ │ │ └── rightPanel │ │ │ │ │ ├── AssignmentPanel.jsx │ │ │ │ │ ├── PlacementQuizPanel.jsx │ │ │ │ │ ├── RightPanelRoot.jsx │ │ │ │ │ ├── SubjectiveQuizList.jsx │ │ │ │ │ ├── SubjectiveQuizPanel.jsx │ │ │ │ │ ├── YourBooksPanel.jsx │ │ │ │ │ └── YourCollectionsPanel.jsx │ │ │ ├── tabchange │ │ │ │ └── tabvisibility.js │ │ │ └── timer │ │ │ │ ├── extractDateTime.js │ │ │ │ ├── formatMinutes.js │ │ │ │ └── formatTime.js │ │ ├── creator │ │ │ ├── addQuestion │ │ │ │ ├── AddInstruction.css │ │ │ │ ├── AddInstruction.jsx │ │ │ │ ├── AddQuestion.css │ │ │ │ ├── AddQuestion.jsx │ │ │ │ ├── AddQuestionHome.css │ │ │ │ ├── AddQuestionHome.jsx │ │ │ │ ├── PreviewInstructions.css │ │ │ │ ├── PreviewInstructions.jsx │ │ │ │ ├── settings.css │ │ │ │ └── settings.jsx │ │ │ ├── createQuiz │ │ │ │ ├── CreateQuiz.jsx │ │ │ │ ├── createquiz.css │ │ │ │ └── createquiz3.png │ │ │ └── resultsummary │ │ │ │ ├── results.css │ │ │ │ └── resultsummary.jsx │ │ └── student │ │ │ ├── Instructions.jsx │ │ │ ├── PreviewInstructions.css │ │ │ ├── quizFeedback │ │ │ ├── QuizFeedback.css │ │ │ └── QuizFeedback.jsx │ │ │ └── quizzing │ │ │ ├── Quizzing.css │ │ │ └── Quizzing.jsx │ ├── reviewmodule │ │ ├── components │ │ │ ├── AuthorDetails.jsx │ │ │ ├── AuthorForm.jsx │ │ │ ├── CodeDetails.jsx │ │ │ ├── NavBar.jsx │ │ │ ├── PRMSidebar.jsx │ │ │ ├── PaperDetails.jsx │ │ │ ├── PaperUpload.jsx │ │ │ ├── SelectTracks.jsx │ │ │ ├── Submission.jsx │ │ │ └── Terms.jsx │ │ ├── helper │ │ │ └── getdate.js │ │ ├── pages │ │ │ ├── AddReviewer.jsx │ │ │ ├── AllForms.jsx │ │ │ ├── CreateUser.jsx │ │ │ ├── DefaultQuestion.jsx │ │ │ ├── DefaultQuestionHome.jsx │ │ │ ├── EditDefaultTemplate.jsx │ │ │ ├── EditTemplate.jsx │ │ │ ├── FormAnswers.jsx │ │ │ ├── Forms.jsx │ │ │ ├── Invitations.jsx │ │ │ ├── Main.jsx │ │ │ ├── MultiStepForm.jsx │ │ │ ├── OTPverification.jsx │ │ │ ├── PaperSummary.jsx │ │ │ ├── PrmEdDashboard.jsx │ │ │ ├── PrmEditorDashboard.jsx │ │ │ ├── Review.jsx │ │ │ ├── ReviewLogin.jsx │ │ │ ├── ReviewQuestion.css │ │ │ ├── ReviewQuestion.jsx │ │ │ ├── ReviewQuestionHome.jsx │ │ │ ├── ReviewerAcceptance.jsx │ │ │ ├── Reviews.jsx │ │ │ ├── StartSubmission.jsx │ │ │ ├── SubmittedPapers.jsx │ │ │ ├── UpdateReviewerStatus.jsx │ │ │ ├── UserDetails.jsx │ │ │ ├── addTemplate.jsx │ │ │ ├── addTracks.jsx │ │ │ ├── addeditor.jsx │ │ │ ├── addpaper.jsx │ │ │ ├── allpapers.jsx │ │ │ ├── completedPaper.jsx │ │ │ ├── editorevent.jsx │ │ │ ├── eventregistration.jsx │ │ │ ├── papersubmission.jsx │ │ │ ├── pendingAssignment.jsx │ │ │ ├── prmdashboard.jsx │ │ │ ├── reviewsCompleted.jsx │ │ │ ├── revolveAnimation.css │ │ │ ├── searchEvent.jsx │ │ │ └── userRegistration.jsx │ │ └── state │ │ │ └── atoms │ │ │ └── paperState.js │ ├── styles │ │ └── customStyles.js │ └── timetableadmin │ │ ├── Timetable.css │ │ ├── addcommonload.jsx │ │ ├── addfaculty.css │ │ ├── addfaculty.jsx │ │ ├── addfirstyearfaculty.jsx │ │ ├── addlunchload.jsx │ │ ├── addnote.jsx │ │ ├── addroom.jsx │ │ ├── addsemester.jsx │ │ ├── addsubjects.jsx │ │ ├── admin.jsx │ │ ├── allotment.jsx │ │ ├── commonslot.jsx │ │ ├── creatett.css │ │ ├── creatett.jsx │ │ ├── departmentloadallocation.jsx │ │ ├── editmasterfaculty.jsx │ │ ├── facultytable.jsx │ │ ├── firstyearload.jsx │ │ ├── header.jsx │ │ ├── importCentralRoom.jsx │ │ ├── importt.jsx │ │ ├── instituteload.jsx │ │ ├── loaddistribution.jsx │ │ ├── lockedsummary.css │ │ ├── lockedsummary.jsx │ │ ├── masterdelete.jsx │ │ ├── masterfaculty.jsx │ │ ├── masterroom.jsx │ │ ├── mastersearch.jsx │ │ ├── mastersem.jsx │ │ ├── masterview.jsx │ │ ├── messages.jsx │ │ ├── printSummary.jsx │ │ ├── timetable.jsx │ │ ├── ttsummary.jsx │ │ ├── viewMessages.jsx │ │ ├── viewinstituteload.jsx │ │ ├── viewinstituteloadmaster.jsx │ │ ├── viewmasterclasstable.jsx │ │ ├── viewmrooms.jsx │ │ ├── viewroomallotment.jsx │ │ ├── viewsummary.jsx │ │ ├── viewtt.jsx │ │ └── viewttmerged.jsx ├── tailwind.config.js ├── vite.config.js └── yarn.lock └── server ├── .DS_Store ├── .gitignore ├── package-lock.json ├── package.json ├── puppeteer.config.cjs ├── src ├── getEnvironmentURL.js ├── index.js ├── models │ ├── addfaculty.js │ ├── addroom.js │ ├── addsem.js │ ├── allotment.js │ ├── certificateModule │ │ ├── addevent.js │ │ ├── certificate.js │ │ └── participant.js │ ├── classtimetable.js │ ├── commonFields.js │ ├── commonLoad.js │ ├── conferenceModule │ │ ├── EventDate.js │ │ ├── accomodation.js │ │ ├── announcements.js │ │ ├── awards.js │ │ ├── committees.js │ │ ├── commonTemplate.js │ │ ├── confrence.js │ │ ├── contactUs.js │ │ ├── event.js │ │ ├── home.js │ │ ├── http-exception.js │ │ ├── images.js │ │ ├── index.js │ │ ├── location.js │ │ ├── navbar.js │ │ ├── participants.js │ │ ├── souvenir.js │ │ ├── speakers.js │ │ ├── sponsors.js │ │ ├── sponsorshipRates.js │ │ └── user.js │ ├── diabeticsModule │ │ ├── dailyDosage.js │ │ ├── doctor.js │ │ ├── gamification.js │ │ ├── hospital.js │ │ ├── patient.js │ │ └── sickday.js │ ├── faculty.js │ ├── http-exception.js │ ├── index.js │ ├── instituteLoad.js │ ├── lockfaculty.js │ ├── locksem.js │ ├── masterclasstable.js │ ├── masterroom.js │ ├── mastersem.js │ ├── message.js │ ├── module.js │ ├── nirfRanking │ │ └── nirf.js │ ├── note.js │ ├── platform.js │ ├── quizModule │ │ ├── index.js │ │ ├── quiz.js │ │ ├── quizOrderArray.js │ │ ├── quizQuestion.js │ │ ├── studentAns.js │ │ └── studentResult.js │ ├── reviewModule │ │ ├── defaultQuestion.js │ │ ├── defaultTemplate.js │ │ ├── event.js │ │ ├── formAnswers.js │ │ ├── forms.js │ │ ├── paper.js │ │ ├── review.js │ │ ├── reviewQuestion.js │ │ └── user.js │ ├── shortTermModule │ │ └── shortTermCourse.js │ ├── stories │ │ └── story.js │ ├── student.js │ ├── subject.js │ ├── timetable.js │ └── usermanagement │ │ ├── otp.js │ │ └── user.js ├── modules │ ├── Nirf │ │ ├── controller │ │ │ └── nirfcontroller.js │ │ └── routes │ │ │ ├── index.js │ │ │ └── nirfroutes.js │ ├── attendanceModule │ │ ├── controllers │ │ │ └── studentprofile.js │ │ └── routes │ │ │ ├── index.js │ │ │ └── student.js │ ├── certificateModule │ │ ├── controllers │ │ │ ├── addevent.js │ │ │ ├── certificate.js │ │ │ ├── email.ejs │ │ │ ├── emails.js │ │ │ ├── formDataToObject.js │ │ │ ├── logoAndSignatureofUser.js │ │ │ ├── participant.js │ │ │ ├── participantemail.js │ │ │ └── signimagesofuser.js │ │ ├── helper │ │ │ ├── countCertificates.js │ │ │ ├── getApiURL.js │ │ │ ├── lockstatus.js │ │ │ └── multer.middleware.js │ │ └── routes │ │ │ ├── addevent.js │ │ │ ├── certificate.js │ │ │ ├── emails.js │ │ │ ├── index.js │ │ │ ├── participant.js │ │ │ └── sendImages.js │ ├── checkRole.middleware.js │ ├── confrenceModule │ │ ├── crud │ │ │ ├── accomodation.js │ │ │ ├── announcement.js │ │ │ ├── awards.js │ │ │ ├── committees.js │ │ │ ├── commontemplate.js │ │ │ ├── conf.js │ │ │ ├── contactUs.js │ │ │ ├── eventDate.js │ │ │ ├── events.js │ │ │ ├── home.js │ │ │ ├── images.js │ │ │ ├── location.js │ │ │ ├── navbar.js │ │ │ ├── participant.js │ │ │ ├── souvenir.js │ │ │ ├── speakers.js │ │ │ ├── sponsors.js │ │ │ ├── sponsorshipRates.js │ │ │ └── upload.js │ │ ├── docs │ │ │ ├── announcement.js │ │ │ ├── awrds.js │ │ │ ├── committees.js │ │ │ ├── conf.js │ │ │ ├── contactUs.js │ │ │ ├── eventDate.js │ │ │ ├── home.js │ │ │ ├── images.js │ │ │ ├── location.js │ │ │ ├── navbar.js │ │ │ ├── participant.js │ │ │ ├── speakers.js │ │ │ └── sponsers.js │ │ ├── dto │ │ │ ├── classtimetable.js │ │ │ ├── commonload.js │ │ │ ├── faculty.js │ │ │ ├── locktimetable.js │ │ │ └── timetable.js │ │ ├── helper │ │ │ ├── createlink.js │ │ │ ├── findduplicates.js │ │ │ ├── getIndianTime.js │ │ │ └── multer.middleware.js │ │ └── routes │ │ │ ├── accomodation.js │ │ │ ├── announcements.js │ │ │ ├── awards.js │ │ │ ├── committee.js │ │ │ ├── commontemplate.js │ │ │ ├── conf.js │ │ │ ├── contactUs.js │ │ │ ├── eventDates.js │ │ │ ├── events.js │ │ │ ├── home.js │ │ │ ├── images.js │ │ │ ├── index.js │ │ │ ├── location.js │ │ │ ├── main.js │ │ │ ├── navbar.js │ │ │ ├── participant.js │ │ │ ├── souvenir.js │ │ │ ├── speakers.js │ │ │ ├── sponsor.js │ │ │ ├── sponsorshipRates.js │ │ │ ├── upload.js │ │ │ └── user.js │ ├── diabeticsModule │ │ ├── controllers │ │ │ ├── dailyDosage.js │ │ │ ├── doctor.js │ │ │ ├── gamification.js │ │ │ ├── hospital.js │ │ │ ├── patient.js │ │ │ └── sickday.js │ │ └── routes │ │ │ ├── dailyDosage.js │ │ │ ├── doctor.js │ │ │ ├── gamification.js │ │ │ ├── hospital.js │ │ │ ├── index.js │ │ │ ├── patient.js │ │ │ └── sickday.js │ ├── mailerModule │ │ ├── mailer.js │ │ └── review_mailer.js │ ├── mailsender.js │ ├── platform │ │ ├── controller.js │ │ ├── routes.js │ │ └── utils │ │ │ └── clodinary.js │ ├── quizModule │ │ ├── faculty │ │ │ ├── controllers │ │ │ │ ├── dto.js │ │ │ │ ├── helper.js │ │ │ │ └── quiz.js │ │ │ └── routes │ │ │ │ ├── index.js │ │ │ │ └── quiz.js │ │ └── student │ │ │ ├── controllers │ │ │ ├── dto.js │ │ │ ├── helper.js │ │ │ └── quiz.js │ │ │ └── routes │ │ │ ├── index.js │ │ │ └── quiz.js │ ├── reviewModule │ │ ├── controller │ │ │ ├── defaultQuestion.js │ │ │ ├── defaultTemplate.js │ │ │ ├── event.js │ │ │ ├── formAnswers.js │ │ │ ├── forms.js │ │ │ ├── papers.js │ │ │ ├── reupload.js │ │ │ ├── review.js │ │ │ ├── reviewQuestion.js │ │ │ ├── reviewer.js │ │ │ ├── reviewerAcceptance.js │ │ │ ├── uploadFile.js │ │ │ ├── uploadFileMiddleWare.js │ │ │ ├── uploads │ │ │ │ ├── 21124119_UML_LAB_02_1714486821465.pdf │ │ │ │ ├── 21124119_UML_LAB_02_1714486916482.pdf │ │ │ │ ├── 21124119_UML_LAB_02_1714487012573.pdf │ │ │ │ ├── 21124119_UML_LAB_02_1714488576032.pdf │ │ │ │ ├── 21124119_UML_LAB_02_1714488783746.pdf │ │ │ │ ├── 240310364979_1708535262_1712896327302.pdf │ │ │ │ ├── Resume (1)_1712835016868.pdf │ │ │ │ ├── Resume (1)_1712835197934.pdf │ │ │ │ ├── Resume (1)_1712835227299.pdf │ │ │ │ ├── Resume (1)_1712835493274.pdf │ │ │ │ ├── Resume (1)_1712835608743.pdf │ │ │ │ ├── UML_LAB_7,8[1]_1714485928793.pdf │ │ │ │ ├── UML_LAB_7,8[1]_1714486172146.pdf │ │ │ │ ├── UML_LAB_7,8[1]_1714486502082.pdf │ │ │ │ ├── UML_LAB_7,8[1]_1714486508672.pdf │ │ │ │ ├── UML_LAB_7,8[1]_1714486541677.pdf │ │ │ │ ├── UML_LAB_7,8[1]_1714486546001.pdf │ │ │ │ ├── XCEED Assignment for Inductions_1707140548168.pdf │ │ │ │ ├── lab 6_1712896427511.pdf │ │ │ │ ├── my_resume (6)_1706936734424.pdf │ │ │ │ └── unit1_SPM_1712896530726.pdf │ │ │ └── user.js │ │ └── routes │ │ │ ├── defaultQuestion.js │ │ │ ├── defaultTemplate.js │ │ │ ├── event.js │ │ │ ├── formAnswers.js │ │ │ ├── forms.js │ │ │ ├── index.html │ │ │ ├── index.js │ │ │ ├── index2.html │ │ │ ├── paper.js │ │ │ ├── review.js │ │ │ ├── reviewQuestion.js │ │ │ ├── reviewer.js │ │ │ ├── reviewerAcceptance.js │ │ │ ├── upload.js │ │ │ └── user.js │ ├── stories │ │ ├── controller │ │ │ └── story.js │ │ └── routes │ │ │ └── index.js │ ├── timetableModule │ │ ├── controllers │ │ │ ├── addfacultyprofile.js │ │ │ ├── addroomprofile.js │ │ │ ├── addsemprofile.js │ │ │ ├── allotmentprofile.js │ │ │ ├── classtimetable.js │ │ │ ├── commonLoadprofile.js │ │ │ ├── facultyprofile.js │ │ │ ├── importdata.js │ │ │ ├── instituteloadprofile.js │ │ │ ├── lockfaculty.js │ │ │ ├── locktimetable.js │ │ │ ├── masterclasstable.js │ │ │ ├── masterroomprofile.js │ │ │ ├── mastersemprofile.js │ │ │ ├── message.js │ │ │ ├── noteprofile.js │ │ │ ├── subjectprofile.js │ │ │ └── timetableprofile.js │ │ ├── dto │ │ │ ├── classtimetable.js │ │ │ ├── commonload.js │ │ │ ├── faculty.js │ │ │ ├── locktimetable.js │ │ │ └── timetable.js │ │ ├── helper │ │ │ ├── createlink.js │ │ │ ├── findduplicates.js │ │ │ └── getIndianTime.js │ │ └── routes │ │ │ ├── .DS_Store │ │ │ ├── addfaculty.js │ │ │ ├── addroom.js │ │ │ ├── addsem.js │ │ │ ├── allotment.js │ │ │ ├── classtimetable.js │ │ │ ├── commonLoad.js │ │ │ ├── faculty.js │ │ │ ├── importdata.js │ │ │ ├── index.js │ │ │ ├── instituteLoad.js │ │ │ ├── lockfaculty.js │ │ │ ├── locktimetable.js │ │ │ ├── masterclasstable.js │ │ │ ├── masterroom.js │ │ │ ├── mastersem.js │ │ │ ├── message.js │ │ │ ├── note.js │ │ │ ├── subject.js │ │ │ └── timetable.js │ ├── uploadModule │ │ └── upload.js │ └── usermanagement │ │ ├── controllers │ │ ├── dto.js │ │ ├── forgotpasswordroute.js │ │ ├── otpbody.ejs │ │ ├── resetpasswordroute.js │ │ ├── user.js │ │ └── usercontroller.js │ │ ├── ecmadminroute.js │ │ ├── facultyroute.js │ │ ├── helper │ │ └── multer.helper.js │ │ ├── privateroute.js │ │ ├── routes │ │ ├── index.js │ │ ├── routes.js │ │ └── user.js │ │ ├── studentRoute.js │ │ ├── superadminroute.js │ │ └── ttadminroute.js ├── routes.js └── uploads │ └── dummyfile.txt ├── uploads ├── certificateModuleImages │ └── .gitkeep ├── dummyfile.txt ├── reviewModule │ └── .gitkeep └── subject_template (1).xlsx └── yarn.lock /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/.DS_Store -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .yarn 2 | .env 3 | package-lock.json 4 | package.json 5 | node_modules 6 | yarn.lock 7 | 8 | .vs 9 | 10 | -------------------------------------------------------------------------------- /.gitignore.txt: -------------------------------------------------------------------------------- 1 | node_modules 2 | .yarnrc.yml 3 | yarn.lock 4 | .yarn 5 | .env -------------------------------------------------------------------------------- /.hintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "development" 4 | ], 5 | "hints": { 6 | "axe/forms": "off" 7 | } 8 | } -------------------------------------------------------------------------------- /client/.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { browser: true, es2020: true }, 4 | extends: [ 5 | 'eslint:recommended', 6 | 'plugin:react/recommended', 7 | 'plugin:react/jsx-runtime', 8 | 'plugin:react-hooks/recommended', 9 | ], 10 | 11 | ignorePatterns: ['dist', '.eslintrc.cjs'], 12 | parserOptions: { ecmaVersion: 'latest', sourceType: 'module' }, 13 | settings: { react: { version: '18.2' } }, 14 | plugins: ['react-refresh'], 15 | rules: { 16 | 'react-refresh/only-export-components': [ 17 | 'warn', 18 | { allowConstantExport: true }, 19 | ], 20 | 'react/prop-types': 'off', 21 | 'no-unused-vars': 'off', 22 | }, 23 | }; 24 | -------------------------------------------------------------------------------- /client/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | .env 16 | # Editor directories and files 17 | .vscode/* 18 | !.vscode/extensions.json 19 | .idea 20 | .DS_Store 21 | *.suo 22 | *.ntvs* 23 | *.njsproj 24 | *.sln 25 | *.sw? 26 | 27 | 28 | -------------------------------------------------------------------------------- /client/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "tabWidth": 2, 3 | "useTabs": false, 4 | "singleQuote": true 5 | } 6 | -------------------------------------------------------------------------------- /client/.yarnrc.yml: -------------------------------------------------------------------------------- 1 | nodeLinker: node-modules 2 | -------------------------------------------------------------------------------- /client/README.md: -------------------------------------------------------------------------------- 1 | # React + Vite 2 | 3 | This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. 4 | 5 | Currently, two official plugins are available: 6 | 7 | - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh 8 | - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh 9 | -------------------------------------------------------------------------------- /client/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | XCEED NITJ 9 | 25 | 26 | 27 | 28 |
29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /client/postcss.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /client/public/_redirects: -------------------------------------------------------------------------------- 1 | /* /index.html 200 -------------------------------------------------------------------------------- /client/public/clublogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/clublogo.png -------------------------------------------------------------------------------- /client/public/confSidebarLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/confSidebarLogo.png -------------------------------------------------------------------------------- /client/public/dm/it1d-logo.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/dm/it1d-logo.jpeg -------------------------------------------------------------------------------- /client/public/faculty_template.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/faculty_template.xlsx -------------------------------------------------------------------------------- /client/public/home/classroom-01.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/classroom-01.webp -------------------------------------------------------------------------------- /client/public/home/classroom-02.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/classroom-02.webp -------------------------------------------------------------------------------- /client/public/home/team/Aashima.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/team/Aashima.webp -------------------------------------------------------------------------------- /client/public/home/team/Aditya.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/team/Aditya.webp -------------------------------------------------------------------------------- /client/public/home/team/Akshika.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/team/Akshika.webp -------------------------------------------------------------------------------- /client/public/home/team/Avnash-Kumar.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/team/Avnash-Kumar.webp -------------------------------------------------------------------------------- /client/public/home/team/Banalaxmi.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/team/Banalaxmi.webp -------------------------------------------------------------------------------- /client/public/home/team/Bhavya.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/team/Bhavya.webp -------------------------------------------------------------------------------- /client/public/home/team/Dhruv.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/team/Dhruv.webp -------------------------------------------------------------------------------- /client/public/home/team/Dohit.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/team/Dohit.webp -------------------------------------------------------------------------------- /client/public/home/team/Gautam.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/team/Gautam.webp -------------------------------------------------------------------------------- /client/public/home/team/Hari.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/team/Hari.webp -------------------------------------------------------------------------------- /client/public/home/team/Kashish.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/team/Kashish.webp -------------------------------------------------------------------------------- /client/public/home/team/Lavish.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/team/Lavish.webp -------------------------------------------------------------------------------- /client/public/home/team/Madhesh.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/team/Madhesh.webp -------------------------------------------------------------------------------- /client/public/home/team/Pihu.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/team/Pihu.webp -------------------------------------------------------------------------------- /client/public/home/team/Prince.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/team/Prince.webp -------------------------------------------------------------------------------- /client/public/home/team/Ravinder.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/team/Ravinder.webp -------------------------------------------------------------------------------- /client/public/home/team/Sarthak.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/team/Sarthak.jpeg -------------------------------------------------------------------------------- /client/public/home/team/Sourabh.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/team/Sourabh.webp -------------------------------------------------------------------------------- /client/public/home/team/placeholder.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/home/team/placeholder.jpg -------------------------------------------------------------------------------- /client/public/participant_template.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/participant_template.xlsx -------------------------------------------------------------------------------- /client/public/room_template.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/room_template.xlsx -------------------------------------------------------------------------------- /client/public/services/institute-website/10_26049.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/services/institute-website/10_26049.webp -------------------------------------------------------------------------------- /client/public/services/institute-website/11_51058.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/services/institute-website/11_51058.webp -------------------------------------------------------------------------------- /client/public/services/institute-website/12_95830.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/services/institute-website/12_95830.webp -------------------------------------------------------------------------------- /client/public/services/institute-website/13_72439.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/services/institute-website/13_72439.webp -------------------------------------------------------------------------------- /client/public/services/institute-website/2_8245.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/services/institute-website/2_8245.webp -------------------------------------------------------------------------------- /client/public/services/institute-website/3_22930.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/services/institute-website/3_22930.webp -------------------------------------------------------------------------------- /client/public/services/institute-website/4_73301.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/services/institute-website/4_73301.webp -------------------------------------------------------------------------------- /client/public/services/institute-website/5_59377.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/services/institute-website/5_59377.webp -------------------------------------------------------------------------------- /client/public/services/institute-website/6_36624.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/services/institute-website/6_36624.webp -------------------------------------------------------------------------------- /client/public/services/institute-website/7_48718.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/services/institute-website/7_48718.webp -------------------------------------------------------------------------------- /client/public/services/institute-website/8_87164.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/services/institute-website/8_87164.webp -------------------------------------------------------------------------------- /client/public/services/institute-website/9_24382.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/services/institute-website/9_24382.webp -------------------------------------------------------------------------------- /client/public/subject_template.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/subject_template.xlsx -------------------------------------------------------------------------------- /client/public/templatebg/basic01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/basic01.png -------------------------------------------------------------------------------- /client/public/templatebg/basic02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/basic02.png -------------------------------------------------------------------------------- /client/public/templatebg/basic03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/basic03.png -------------------------------------------------------------------------------- /client/public/templatebg/basic04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/basic04.png -------------------------------------------------------------------------------- /client/public/templatebg/basic05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/basic05.png -------------------------------------------------------------------------------- /client/public/templatebg/basic06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/basic06.png -------------------------------------------------------------------------------- /client/public/templatebg/basic07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/basic07.png -------------------------------------------------------------------------------- /client/public/templatebg/basic08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/basic08.png -------------------------------------------------------------------------------- /client/public/templatebg/basic09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/basic09.png -------------------------------------------------------------------------------- /client/public/templatebg/basic10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/basic10.png -------------------------------------------------------------------------------- /client/public/templatebg/basic11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/basic11.png -------------------------------------------------------------------------------- /client/public/templatebg/basic12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/basic12.png -------------------------------------------------------------------------------- /client/public/templatebg/basic13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/basic13.png -------------------------------------------------------------------------------- /client/public/templatebg/basic14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/basic14.png -------------------------------------------------------------------------------- /client/public/templatebg/basic15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/basic15.png -------------------------------------------------------------------------------- /client/public/templatebg/basic16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/basic16.png -------------------------------------------------------------------------------- /client/public/templatebg/premium01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/premium01.png -------------------------------------------------------------------------------- /client/public/templatebg/premium02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/premium02.png -------------------------------------------------------------------------------- /client/public/templatebg/premium03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/premium03.png -------------------------------------------------------------------------------- /client/public/templatebg/premium04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/premium04.png -------------------------------------------------------------------------------- /client/public/templatebg/premium05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/premium05.png -------------------------------------------------------------------------------- /client/public/templatebg/premium06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/premium06.png -------------------------------------------------------------------------------- /client/public/templatebg/premium07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/templatebg/premium07.png -------------------------------------------------------------------------------- /client/public/vite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/public/xceed_logo_animation.riv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/public/xceed_logo_animation.riv -------------------------------------------------------------------------------- /client/src/assets/footer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/src/assets/footer.png -------------------------------------------------------------------------------- /client/src/assets/header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/src/assets/header.png -------------------------------------------------------------------------------- /client/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/src/assets/logo.png -------------------------------------------------------------------------------- /client/src/assets/logocrop.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/src/assets/logocrop.jpeg -------------------------------------------------------------------------------- /client/src/assets/room_template.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/src/assets/room_template.xlsx -------------------------------------------------------------------------------- /client/src/assets/subject_template.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xceed-nitj/AMS-with-TimeTable/1b7d78082fc70ac962cb995adbfb4c03e58b32d2/client/src/assets/subject_template.xlsx -------------------------------------------------------------------------------- /client/src/certificatemodule/components/ProxifiedImage.jsx: -------------------------------------------------------------------------------- 1 | import { useEffect, useState } from 'react'; 2 | import getEnvironment from '../../getenvironment'; 3 | 4 | const ProxifiedImage = ({ src, ...rest }) => { 5 | const apiUrl = getEnvironment(); 6 | const [imgSrc, setImgSrc] = useState(null); 7 | 8 | useEffect(() => { 9 | function arrayBufferToBase64(buffer) { 10 | var binary = ''; 11 | var bytes = new Uint8Array(buffer); 12 | bytes.forEach((b) => (binary += String.fromCharCode(b))); 13 | return window.btoa(binary); 14 | } 15 | 16 | function downloadImageLocal(link) { 17 | // Return the fetch promise 18 | return fetch(`${apiUrl}/proxy-image?url=${link}`) 19 | .then((res) => res.arrayBuffer()) 20 | .then((buffer) => { 21 | const base64Flag = 'data:image/jpeg;base64,'; 22 | const imageStr = arrayBufferToBase64(buffer); 23 | const output = base64Flag + imageStr; 24 | return output; 25 | }); 26 | } 27 | // console.log('src', src); 28 | downloadImageLocal(src).then((res) => { 29 | setImgSrc(res); 30 | }); 31 | }, [src]); 32 | 33 | return ; 34 | }; 35 | 36 | export default ProxifiedImage; 37 | -------------------------------------------------------------------------------- /client/src/certificatemodule/pages/certificatetemplates/03_sarthak/Bottom.jsx: -------------------------------------------------------------------------------- 1 | 2 | function Bottom({ signature }) { 3 | return ( 4 | <> 5 | {/* 6 |

{Signature}

*/} 7 | 8 |
9 | {signature.map((item, key) => ( 10 |
14 |
15 |
16 |

{item.name}

17 |

{item.position}

18 |
19 | ))} 20 |
21 |
22 | 23 | ); 24 | } 25 | 26 | export default Bottom; 27 | -------------------------------------------------------------------------------- /client/src/certificatemodule/pages/certificatetemplates/akleem/Bottom.jsx: -------------------------------------------------------------------------------- 1 | function Bottom() { 2 | return ( 3 | <> 4 | 5 | 6 | 7 | ) 8 | } 9 | 10 | export default Bottom 11 | -------------------------------------------------------------------------------- /client/src/certificatemodule/pages/certipdfdownload.jsx: -------------------------------------------------------------------------------- 1 | import html2pdf from 'html2pdf.js'; 2 | 3 | export default function downloadCertificatePDF() { 4 | const graph = document.getElementsByClassName("svg-img")[0]; 5 | 6 | // Ensure that anchor elements have href attributes for hyperlinks 7 | const anchorElements = graph.getElementsByTagName("a"); 8 | for (const anchorElement of anchorElements) { 9 | if (!anchorElement.getAttribute("href")) { 10 | anchorElement.setAttribute("href", "#"); // Set a default href if not present 11 | } 12 | } 13 | 14 | // Use html2pdf to create a PDF with selectable text and hyperlinks 15 | html2pdf(graph, { 16 | margin: 20, 17 | filename: 'certificate.pdf', 18 | image: { type: 'png', quality: 0.98 }, 19 | html2canvas: { scale: 2 }, 20 | jsPDF: { unit: 'pt', format: 'letter', orientation: 'landscape', text: 'text' }, 21 | }); 22 | } 23 | -------------------------------------------------------------------------------- /client/src/components/footer.jsx: -------------------------------------------------------------------------------- 1 | const Footer = () => { 2 | return ( 3 | 14 | ); 15 | }; 16 | 17 | export default Footer; 18 | -------------------------------------------------------------------------------- /client/src/components/header.jsx: -------------------------------------------------------------------------------- 1 | // src/components/Header.js 2 | 3 | import { IconButton as Button, Heading, chakra } from '@chakra-ui/react'; 4 | import React from 'react'; 5 | import { useNavigate } from 'react-router-dom'; 6 | 7 | const Header = ({ title }) => { 8 | const navigate = useNavigate(); 9 | 10 | return ( 11 | 12 | 33 | 34 | {title} 35 | 36 | 37 | ); 38 | }; 39 | 40 | export default Header; 41 | -------------------------------------------------------------------------------- /client/src/components/home/Footer.jsx: -------------------------------------------------------------------------------- 1 | const Footer = () => { 2 | return ( 3 | 14 | ); 15 | }; 16 | 17 | export default Footer; 18 | -------------------------------------------------------------------------------- /client/src/components/home/Services/EnquireModal.jsx: -------------------------------------------------------------------------------- 1 | // import clsx from "clsx" 2 | import { 3 | Modal, 4 | ModalOverlay, 5 | ModalContent, 6 | ModalHeader, 7 | // ModalFooter, 8 | ModalBody, 9 | ModalCloseButton, 10 | } from '@chakra-ui/react'; 11 | 12 | const EnquireModal = ({ isOpen, onClose }) => { 13 | return ( 14 | <> 15 | 16 | 17 | 18 | 19 | Contact Details 20 | 21 | 22 | 23 |
24 |

25 | Contact below people to book the services. 26 |

27 |
    28 |
  • Dr. D. Harimurugan, Department of Electrical Engineering (harimurugan@nitj.ac.in, 7598498895)
  • 29 |
  • Dr. Banalaxmi Brahma, Department of Computer Science and Engineering (brahmab@nitj.ac.in)
  • 30 | {/*
  • 7009109091
  • */} 31 |
32 |
33 |
34 |
35 |
36 | 37 | ); 38 | }; 39 | 40 | export default EnquireModal; 41 | -------------------------------------------------------------------------------- /client/src/components/home/Services/Features/FeatureCard.jsx: -------------------------------------------------------------------------------- 1 | const FeatureCard = ({ index, title, description }) => { 2 | return ( 3 |
4 |
5 | {index + 1} 6 |
7 |

{title}

8 |

9 | {description} 10 |

11 |
12 | ); 13 | }; 14 | 15 | export default FeatureCard; 16 | -------------------------------------------------------------------------------- /client/src/components/home/Services/Features/index.jsx: -------------------------------------------------------------------------------- 1 | import SectionHeader from '../../../ui/home/SectionHeader'; 2 | import FeatureCard from './FeatureCard'; 3 | 4 | const ServiceFeatures = ({ features }) => { 5 | if (!features) { 6 | return null; 7 | } 8 | 9 | return ( 10 |
11 |
12 |
13 | 14 |

15 | XCEED has an experienced team of developers, designers and mentors 16 | dedicated to provide economical web based solutions as per your 17 | requirement. Here are some of our most demanded services. 18 |

19 |
20 |
21 | {features.map((service, key) => ( 22 | 23 | ))} 24 |
25 |
26 |
27 | ); 28 | }; 29 | 30 | export default ServiceFeatures; 31 | -------------------------------------------------------------------------------- /client/src/components/home/Services/Features/style.css: -------------------------------------------------------------------------------- 1 | @keyframes scrolling { 2 | 0% { 3 | transform: translateX(0); 4 | } 5 | 100% { 6 | transform: translateX(-50%); 7 | } 8 | } -------------------------------------------------------------------------------- /client/src/components/home/Services/ServiceCard.jsx: -------------------------------------------------------------------------------- 1 | import { Link } from "react-router-dom"; 2 | 3 | const ServiceCard = ({ id, icon, title, description, price }) => { 4 | return ( 5 |
6 |
7 | {icon} 8 |
9 | 10 |

{title}

11 |

12 | {description} 13 |

14 | 15 | 16 | {" "} 17 | Read more... 18 | 19 | 20 | 21 |

22 | {price} 23 |

24 |
25 | ); 26 | }; 27 | 28 | export default ServiceCard; 29 | -------------------------------------------------------------------------------- /client/src/components/home/TeamSection/index.jsx: -------------------------------------------------------------------------------- 1 | import { coreTeam, faculty } from '../../../constants/members'; 2 | import Team from './Team'; 3 | 4 | const TeamSection = () => { 5 | return ( 6 | <> 7 | 14 | 20 | {/* */} 21 | 22 | ); 23 | }; 24 | 25 | export default TeamSection; 26 | -------------------------------------------------------------------------------- /client/src/components/home/animation.css: -------------------------------------------------------------------------------- 1 | .stars { 2 | position: absolute; 3 | top: 0; 4 | left: 0; 5 | width: 100%; 6 | height: 100%; 7 | pointer-events: none; 8 | z-index: -100; 9 | } 10 | 11 | .star { 12 | position: absolute; 13 | background: rgb(8, 149, 178); 14 | /* background: rgb(164, 63, 149); */ 15 | 16 | width: 20px; 17 | height: 20px; 18 | border-radius: 50%; 19 | animation: twinkling 3s infinite; 20 | z-index: -10; 21 | 22 | } 23 | 24 | @keyframes twinkling { 25 | 0% { 26 | opacity: 0.60; 27 | transform: translateY(0); 28 | } 29 | 50% { 30 | opacity: 0; 31 | transform: translateY(-50px); 32 | } 33 | 100% { 34 | opacity: 0.75; 35 | transform: translateY(0); 36 | } 37 | } -------------------------------------------------------------------------------- /client/src/components/login/FormHeader.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import logoImage from '../../assets/logo.png' 3 | 4 | import { Image, Text } from '@chakra-ui/react' 5 | 6 | const FormHeader = () => { 7 | return ( 8 | <> 9 | NITJ Logo 31 | 32 | 41 | Welcome to XCEED 42 | 43 | 51 | Empowering campus connectivity through digital innovation 52 | 53 | 54 | ) 55 | } 56 | 57 | export default FormHeader 58 | -------------------------------------------------------------------------------- /client/src/components/login/LogoAnimation.jsx: -------------------------------------------------------------------------------- 1 | import { Flex } from '@chakra-ui/react' 2 | import { useRive, Layout, Fit, Alignment } from '@rive-app/react-canvas' 3 | 4 | export const LogoAnimation = (props) => { 5 | const { RiveComponent } = useRive({ 6 | src: '/xceed_logo_animation.riv', 7 | position: 'absolute', 8 | layout: new Layout({ 9 | fit: Fit.Contain, 10 | alignment: Alignment.Center, 11 | }), 12 | autoplay: true, 13 | loop: true, 14 | }) 15 | 16 | return ( 17 | *': { 33 | position: 'absolute', 34 | }, 35 | }}> 36 | 37 | 38 | ) 39 | } 40 | -------------------------------------------------------------------------------- /client/src/components/ui/home/SectionHeader.jsx: -------------------------------------------------------------------------------- 1 | import clsx from 'clsx'; 2 | const SectionHeader = ({ title, centered }) => { 3 | return ( 4 |

10 | {title.split(' ')[0]}{' '} 11 | 12 | {title.split(' ').slice(1).join(' ')} 13 | 14 |

15 | ); 16 | }; 17 | 18 | export default SectionHeader; 19 | -------------------------------------------------------------------------------- /client/src/conferencemodule/utils/formatDate.js: -------------------------------------------------------------------------------- 1 | function formatDate(dateString) { 2 | const date = new Date(dateString); 3 | const options = { month: 'long', day: 'numeric', year: 'numeric' }; 4 | return date.toLocaleDateString('en-US', options); 5 | } 6 | 7 | export default formatDate -------------------------------------------------------------------------------- /client/src/conferencemodule/utils/tailwindUtils.js: -------------------------------------------------------------------------------- 1 | export function classNames(...classes) { 2 | return classes.filter(Boolean).join(' ') 3 | } 4 | -------------------------------------------------------------------------------- /client/src/dashboard/login.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Flex } from '@chakra-ui/react' 3 | 4 | import { LogoAnimation } from '../components/login/LogoAnimation' 5 | import LoginForm from '../components/login/LoginForm' 6 | function Login() { 7 | return ( 8 | 16 | 17 | 18 | 19 | 20 | ) 21 | } 22 | 23 | export default Login 24 | -------------------------------------------------------------------------------- /client/src/diabeticsModule/api/config.js: -------------------------------------------------------------------------------- 1 | import axios from 'axios'; 2 | import getEnvironment from '../../getenvironment'; 3 | 4 | // Base configuration for axios instance 5 | export const axiosInstance = axios.create({ 6 | baseURL: `${getEnvironment()}/api/v1`, 7 | withCredentials: true, 8 | }); 9 | 10 | // Base path for diabetics module 11 | export const DIABETICS_MODULE_PATH = '/diabeticsModule'; 12 | 13 | // Generic error handler 14 | export const handleApiError = (error) => { 15 | console.error('API Error:', error); 16 | const errorMessage = error.response?.data?.message || 'An error occurred'; 17 | throw new Error(errorMessage); 18 | }; 19 | 20 | // Generic success response handler 21 | export const handleApiResponse = (response) => response.data; 22 | 23 | // Utility to create API endpoints 24 | export const createEndpoint = (path) => `${DIABETICS_MODULE_PATH}${path}`; 25 | -------------------------------------------------------------------------------- /client/src/diabeticsModule/api/doctorApi.js: -------------------------------------------------------------------------------- 1 | import { 2 | axiosInstance, 3 | createEndpoint, 4 | handleApiError, 5 | handleApiResponse, 6 | } from './config'; 7 | 8 | // Get all doctors 9 | export const getAllDoctors = () => 10 | axiosInstance 11 | .get(createEndpoint('/doctor/all')) 12 | .then(handleApiResponse) 13 | .catch(handleApiError); 14 | 15 | // Get doctor by ID 16 | export const getDoctorById = (doctorId) => 17 | axiosInstance 18 | .get(createEndpoint(`/doctor/${doctorId}`)) 19 | .then(handleApiResponse) 20 | .catch(handleApiError); 21 | 22 | // Get current doctor's info 23 | export const getCurrentDoctor = () => 24 | axiosInstance 25 | .get(createEndpoint('/doctor/me')) 26 | .then(handleApiResponse) 27 | .catch(handleApiError); 28 | 29 | // Add new doctor 30 | export const addDoctor = (doctorData) => 31 | axiosInstance 32 | .post(createEndpoint('/doctor/add'), doctorData) 33 | .then(handleApiResponse) 34 | .catch(handleApiError); 35 | 36 | // Get doctor count 37 | export const getDoctorCount = () => 38 | axiosInstance 39 | .get(createEndpoint('/doctor/count')) 40 | .then(handleApiResponse) 41 | .catch(handleApiError); 42 | 43 | // Doctor login 44 | export const loginDoctor = (credentials) => 45 | axiosInstance 46 | .post(createEndpoint('/doctor/login'), credentials) 47 | .then(handleApiResponse) 48 | .catch(handleApiError); 49 | -------------------------------------------------------------------------------- /client/src/diabeticsModule/api/patientApi.js: -------------------------------------------------------------------------------- 1 | import { 2 | axiosInstance, 3 | createEndpoint, 4 | handleApiError, 5 | handleApiResponse, 6 | } from './config'; 7 | 8 | // Get all patients 9 | export const getAllPatients = () => 10 | axiosInstance 11 | .get(createEndpoint('/patient/all')) 12 | .then(handleApiResponse) 13 | .catch(handleApiError); 14 | 15 | // Get patient by ID 16 | export const getPatientById = (patientId) => 17 | axiosInstance 18 | .get(createEndpoint(`/patient/${patientId}`)) 19 | .then(handleApiResponse) 20 | .catch(handleApiError); 21 | 22 | // Get current patient's info 23 | export const getCurrentPatient = () => 24 | axiosInstance 25 | .get(createEndpoint('/patient/me')) 26 | .then(handleApiResponse) 27 | .catch(handleApiError); 28 | 29 | // Add new patient 30 | export const addPatient = (patientData) => 31 | axiosInstance 32 | .post(createEndpoint('/patient/add'), patientData) 33 | .then(handleApiResponse) 34 | .catch(handleApiError); 35 | 36 | // Get patient count 37 | export const getPatientCount = () => 38 | axiosInstance 39 | .get(createEndpoint('/patient/count')) 40 | .then(handleApiResponse) 41 | .catch(handleApiError); 42 | 43 | // Patient login 44 | export const loginPatient = (credentials) => 45 | axiosInstance 46 | .post(createEndpoint('/patient/login'), credentials) 47 | .then(handleApiResponse) 48 | .catch(handleApiError); 49 | -------------------------------------------------------------------------------- /client/src/diabeticsModule/api/sickDayApi.js: -------------------------------------------------------------------------------- 1 | import { 2 | axiosInstance, 3 | createEndpoint, 4 | handleApiError, 5 | handleApiResponse, 6 | } from './config'; 7 | 8 | // Add new sick day record 9 | export const addSickDay = (sickDayData) => 10 | axiosInstance 11 | .post(createEndpoint('/sickday/add'), sickDayData) 12 | .then(handleApiResponse) 13 | .catch(handleApiError); 14 | 15 | // Get all sick days for a patient 16 | export const getPatientSickDays = (patientId) => 17 | axiosInstance 18 | .get(createEndpoint(`/sickday/patient/${patientId}`)) 19 | .then(handleApiResponse) 20 | .catch(handleApiError); 21 | 22 | // Get sick day by ID 23 | export const getSickDayById = (sickDayId) => 24 | axiosInstance 25 | .get(createEndpoint(`/sickday/${sickDayId}`)) 26 | .then(handleApiResponse) 27 | .catch(handleApiError); 28 | -------------------------------------------------------------------------------- /client/src/diabeticsModule/components/common/StatCard.jsx: -------------------------------------------------------------------------------- 1 | import { 2 | Box, 3 | Flex, 4 | Stat, 5 | StatLabel, 6 | StatNumber, 7 | StatHelpText, 8 | Icon, 9 | } from '@chakra-ui/react'; 10 | import { useColorModeValue } from '@chakra-ui/react'; 11 | 12 | const StatCard = ({ title, value, description, icon, color }) => { 13 | const bgColor = useColorModeValue('white', 'gray.800'); 14 | 15 | return ( 16 | 24 | 25 | 26 | 27 | 28 | {title} 29 | 30 | 31 | {value} 32 | 33 | 34 | {description} 35 | 36 | 37 | 38 | 46 | 47 | 48 | 49 | 50 | ); 51 | }; 52 | 53 | export default StatCard; 54 | -------------------------------------------------------------------------------- /client/src/diabeticsModule/pages/AdminDashboard.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import AdminDashboardComponent from '../components/admin/AdminDashboard'; 3 | 4 | export default function AdminDashboard() { 5 | return ; 6 | } 7 | -------------------------------------------------------------------------------- /client/src/diabeticsModule/pages/DoctorDashboard.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import DoctorDashboardComponent from '../components/doctor/DoctorDashboard'; 3 | 4 | export default function DoctorDashboard() { 5 | return ; 6 | } 7 | -------------------------------------------------------------------------------- /client/src/diabeticsModule/pages/DoctorDetailView.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import DoctorDetailViewComponent from '../components/admin/DoctorDetailView'; 3 | import { useParams } from 'react-router-dom'; 4 | 5 | export default function DoctorDetailView() { 6 | const { doctorId } = useParams(); 7 | if (!doctorId) { 8 | return
Doctor ID is required
; 9 | } 10 | return ; 11 | } 12 | -------------------------------------------------------------------------------- /client/src/diabeticsModule/pages/HospitalDetailView.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import HospitalDetailViewComponent from '../components/admin/HospitalDetailView'; 3 | import { useParams } from 'react-router-dom'; 4 | export default function HospitalDetailView() { 5 | const { hospitalId } = useParams(); 6 | if (!hospitalId) { 7 | return
Hospital ID is required
; 8 | } 9 | return ; 10 | } 11 | -------------------------------------------------------------------------------- /client/src/diabeticsModule/pages/LoginPage.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import LoginPageComponent from '../components/LoginPage'; 3 | 4 | export default function LoginPage() { 5 | return ; 6 | } 7 | -------------------------------------------------------------------------------- /client/src/diabeticsModule/pages/PatientDashboard.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PatientDashboardComponent from '../components/patient/PatientDashboard'; 3 | 4 | export default function PatientDashboard() { 5 | return ; 6 | } 7 | -------------------------------------------------------------------------------- /client/src/diabeticsModule/pages/PatientDetailView.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PatientDetailViewComponent from '../components/doctor/PatientDetailView'; 3 | import { useParams } from 'react-router-dom'; 4 | 5 | export default function PatientDetailView() { 6 | const { patientId } = useParams(); 7 | if (!patientId) { 8 | return
Patient ID is required
; 9 | } 10 | return ; 11 | } 12 | -------------------------------------------------------------------------------- /client/src/diabeticsModule/pages/PatientHistory.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { useParams } from 'react-router-dom'; 3 | import PatientHistoryComponent from '../components/patient/PatientHistory'; 4 | 5 | export default function PatientHistory() { 6 | const { patientId } = useParams(); 7 | return ; 8 | } 9 | -------------------------------------------------------------------------------- /client/src/diabeticsModule/utils/statusUtils.js: -------------------------------------------------------------------------------- 1 | import { 2 | FiAlertCircle, 3 | FiActivity, 4 | FiCheckCircle, 5 | FiHelpCircle, 6 | FiUser, 7 | } from 'react-icons/fi'; 8 | 9 | export const getStatusColor = (status) => { 10 | switch (status) { 11 | case 'danger': 12 | return 'red.500'; 13 | case 'warning': 14 | return 'orange.500'; 15 | case 'normal': 16 | return 'green.500'; 17 | case 'unknown': 18 | return 'gray.500'; 19 | default: 20 | return 'gray.500'; 21 | } 22 | }; 23 | 24 | export const getStatusIcon = (status) => { 25 | switch (status) { 26 | case 'danger': 27 | return FiAlertCircle; 28 | case 'warning': 29 | return FiActivity; 30 | case 'normal': 31 | return FiCheckCircle; 32 | case 'unknown': 33 | return FiHelpCircle; 34 | default: 35 | return FiUser; 36 | } 37 | }; 38 | -------------------------------------------------------------------------------- /client/src/filedownload/filedownload.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Button } from "@chakra-ui/react"; 3 | 4 | const FileDownloadButton = ({ fileUrl, fileName }) => { 5 | const handleDownload = () => { 6 | const link = document.createElement('a'); 7 | link.href = fileUrl; 8 | link.download = fileName; 9 | link.click(); 10 | }; 11 | 12 | return ( 13 | 19 | ); 20 | }; 21 | 22 | export default FileDownloadButton; 23 | -------------------------------------------------------------------------------- /client/src/filedownload/mergepdf.js: -------------------------------------------------------------------------------- 1 | import { PDFDocument } from 'pdf-lib'; 2 | 3 | function downloadMergedPdf(mergedPdfBytes, fileName) { 4 | const blob = new Blob([mergedPdfBytes], { type: 'application/pdf' }); 5 | const url = URL.createObjectURL(blob); 6 | 7 | const link = document.createElement('a'); 8 | link.href = url; 9 | 10 | link.download = fileName; 11 | link.click(); 12 | 13 | // Clean up the URL object 14 | URL.revokeObjectURL(url); 15 | 16 | } 17 | 18 | async function mergePdfs(buffer,fileName) { 19 | try { 20 | const mergedPdfDoc = await PDFDocument.create(); 21 | 22 | for (let i in buffer) { 23 | const pdfDoc1 = await PDFDocument.load(buffer[i]); 24 | const copiedPage = await mergedPdfDoc.copyPages(pdfDoc1,pdfDoc1.getPageIndices()); 25 | console.log(copiedPage[0]) 26 | for(let j in copiedPage){ 27 | mergedPdfDoc.addPage(copiedPage[j]); 28 | } 29 | } 30 | 31 | 32 | // Save the merged PDF 33 | const mergedPdfBytes = await mergedPdfDoc.save(); 34 | downloadMergedPdf(mergedPdfBytes,fileName); 35 | // Do something with the merged PDF bytes, e.g., create a Blob, download, etc. 36 | } catch (error) { 37 | console.error('Error merging PDFs:', error); 38 | } 39 | } 40 | 41 | export default mergePdfs; 42 | -------------------------------------------------------------------------------- /client/src/filedownload/pdfMakeInitializer.js: -------------------------------------------------------------------------------- 1 | import * as pdfMake from 'pdfmake/build/pdfmake'; 2 | import * as Pvfs from 'pdfmake/build/vfs_fonts'; 3 | 4 | const pdfMakeInitializer = () => { 5 | // Check if the pdfMake object already exists 6 | if (!globalThis.pdfMake) { 7 | // Initialize pdfMake with the fonts 8 | pdfMake.vfs = Pvfs.vfs; 9 | globalThis.pdfMake = pdfMake; 10 | } 11 | }; 12 | 13 | // export default pdfMakeInitializer; 14 | 15 | // const pdfMakeInitializer = () => { 16 | // // Always ensure the VFS is initialized 17 | // pdfMake.vfs = pdfFonts.pdfMake.vfs; 18 | 19 | // // Make it global if needed 20 | // if (typeof window !== 'undefined') { 21 | // window.pdfMake = pdfMake; 22 | // } 23 | 24 | // return pdfMake; 25 | // }; 26 | 27 | export default pdfMakeInitializer; -------------------------------------------------------------------------------- /client/src/getenvironment.js: -------------------------------------------------------------------------------- 1 | // envUtils.js 2 | function getEnvironment() { 3 | const currentURL = window.location.href; 4 | const development = 'http://localhost:8010'; 5 | const production = 'https://nitjtt.onrender.com'; 6 | const nitjServer = 'https://xceed.nitj.ac.in'; 7 | if (currentURL.includes('localhost')) { 8 | return development; 9 | } else if (currentURL.includes('nitjtt')) { 10 | return production; 11 | } else { 12 | // Default to a specific environment or handle other cases 13 | return nitjServer; 14 | } 15 | } 16 | 17 | export default getEnvironment; 18 | -------------------------------------------------------------------------------- /client/src/main.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom/client'; 3 | import App from './App.jsx'; 4 | import { HelmetProvider } from 'react-helmet-async'; 5 | 6 | import { ChakraProvider } from '@chakra-ui/react'; 7 | import './index.css'; 8 | 9 | import { RecoilRoot } from 'recoil'; 10 | 11 | const helmetContext = {}; 12 | 13 | ReactDOM.createRoot(document.getElementById('root')).render( 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | ); 24 | -------------------------------------------------------------------------------- /client/src/pages/Home.jsx: -------------------------------------------------------------------------------- 1 | import Hero from '../components/home/Hero'; 2 | import About from '../components/home/About'; 3 | import JoinUs from '../components/home/JoinUs'; 4 | import GrowthTree from '../components/home/Tree/Tree'; 5 | import Footer from '../components/footer'; 6 | import Services from '../components/home/Services'; 7 | import RevenueDistribution from '../components/home/RevenueDistribution'; 8 | import TeamSection from '../components/home/TeamSection'; 9 | import { useLocation } from 'react-router-dom'; 10 | import { useEffect } from 'react'; 11 | 12 | const Home = () => { 13 | const location = useLocation(); 14 | 15 | useEffect(() => { 16 | if (location?.hash) { 17 | const id = location.hash.replace('#', ''); 18 | const element = document.getElementById(id); 19 | if (element) { 20 | element.scrollIntoView(); 21 | } 22 | } 23 | }, [location]); 24 | 25 | return ( 26 |
27 | {/* */} 28 | 29 | 30 | 31 | 32 | 33 | 34 | {/* */} 35 | {/* */} 36 | 37 | 38 |
39 |
40 | ); 41 | }; 42 | 43 | export default Home; 44 | -------------------------------------------------------------------------------- /client/src/pages/Service.jsx: -------------------------------------------------------------------------------- 1 | import { useParams } from 'react-router-dom'; 2 | import ServiceHero from '../components/home/Services/ServiceHero'; 3 | import ServiceFeatures from '../components/home/Services/Features'; 4 | import Team from '../components/home/TeamSection/Team'; 5 | import Footer from '../components/footer'; 6 | import JoinUs from '../components/home/JoinUs'; 7 | import { services } from '../constants/services'; 8 | import { useEffect } from 'react'; 9 | 10 | const ServicePage = () => { 11 | const { serviceId } = useParams(); 12 | const service = services.find( 13 | (service) => service.id === parseInt(serviceId) 14 | ); 15 | 16 | useEffect(() => { 17 | window.scrollTo(0, 0); 18 | }, []); 19 | 20 | return ( 21 |
22 | 23 | 24 | 31 | 32 |
33 |
34 | ); 35 | }; 36 | 37 | export default ServicePage; 38 | -------------------------------------------------------------------------------- /client/src/quizModule/components/error/Error.jsx: -------------------------------------------------------------------------------- 1 | import React,{useState} from 'react' 2 | // import './error.css'; 3 | import { useLocation } from 'react-router-dom'; 4 | // import imageSrc from '../../assets/images/user/undraw_cancel_u1it.svg'; 5 | // import imageSrc from '../../assets/images/user/Logo enlarged-03.png'; 6 | const Error =()=>{ 7 | const location = useLocation(); 8 | const errorMessage = new URLSearchParams(location.search).get('message'); 9 | 10 | return( 11 |
12 | {/* error */} 13 |
14 | 15 | 16 | ERROR 403 :( 17 | {errorMessage &&

{errorMessage}

} 18 | 19 |
20 |

21 | {/* click here for Summary page */} 22 |
23 |
24 |
25 | ) 26 | } 27 | export default Error; -------------------------------------------------------------------------------- /client/src/quizModule/components/error/error.css: -------------------------------------------------------------------------------- 1 | #error{ 2 | height:100vh; 3 | width:100%; 4 | display:flex; 5 | align-items: center; 6 | justify-content: center; 7 | background-color:#f0f0f0; 8 | } 9 | @media (max-width:600px){ 10 | #error{ 11 | flex-direction: column; 12 | justify-content: start; 13 | 14 | align-items:center; 15 | } 16 | h2{ 17 | margin-top:20px; 18 | } 19 | } 20 | #error1{ 21 | height: 200px; 22 | margin-right: 85px; 23 | } 24 | .error2{ 25 | display: flex; 26 | flex-direction: column; 27 | align-items: center; 28 | text-decoration: solid; 29 | color: red; 30 | font-size: 18pt; 31 | font-style: bold; 32 | } 33 | 34 | 35 | .error3{ 36 | margin-top: 10px; 37 | display: flex; 38 | align-items: center; 39 | width: 100%; 40 | justify-content: space-evenly; 41 | } 42 | #home{ 43 | width:30px; 44 | /* margin-right:16px; */ 45 | margin-left:5px; 46 | 47 | } 48 | #home:hover{ 49 | transform: scale(1.2,1.2); 50 | } 51 | h2{ 52 | text-align:center; 53 | font-family: serif; 54 | } 55 | 56 | -------------------------------------------------------------------------------- /client/src/quizModule/components/footer/Footer.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | function Footer() { 4 | return ( 5 |
Footer
6 | ) 7 | } 8 | 9 | export default Footer -------------------------------------------------------------------------------- /client/src/quizModule/components/notification/notification.css: -------------------------------------------------------------------------------- 1 | .confirmation-notification { 2 | background-color: #fff; 3 | border: 1px solid #ccc; 4 | padding: 10px; 5 | box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); 6 | text-align: center; 7 | } 8 | 9 | .confirmation-buttons button { 10 | margin: 5px; 11 | } 12 | -------------------------------------------------------------------------------- /client/src/quizModule/components/notification/notification.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | const ConfirmationNotification = ({ message, onConfirm, onCancel }) => { 4 | return ( 5 |
6 |
{message}
7 |
8 | 11 | 14 |
15 |
16 | ); 17 | }; 18 | 19 | export default ConfirmationNotification; 20 | -------------------------------------------------------------------------------- /client/src/quizModule/components/privateroutes/PrivateRoute.jsx: -------------------------------------------------------------------------------- 1 | // components/privateroutes/PrivateRoute.jsx 2 | 3 | import React from "react"; 4 | import { Route, Navigate } from "react-router-dom"; 5 | 6 | const PrivateRoute = ({ element: Component, ...rest }) => { 7 | const token = localStorage.getItem('token'); 8 | 9 | // Check if the token exists (you can customize this logic based on your authentication mechanism) 10 | const isAuthenticated = !!token; 11 | 12 | return isAuthenticated ? : ; 13 | }; 14 | 15 | export default PrivateRoute; 16 | -------------------------------------------------------------------------------- /client/src/quizModule/components/quill/quillEditor.jsx: -------------------------------------------------------------------------------- 1 | import ReactQuill from 'react-quill'; 2 | import 'react-quill/dist/quill.snow.css'; 3 | import { useRef } from 'react'; 4 | 5 | // Custom image handler for Quill 6 | const QuillEditor = ({ value, onChange }) => { 7 | const quillRef = useRef(null); 8 | 9 | const modules = { 10 | toolbar: 11 | { 12 | container: [ 13 | [{ 'size': ['small', false, 'large', 'huge'] }], 14 | // [{ header: [1, 2, 3, 4,5,6,false] }], 15 | ['bold', 'italic'], 16 | ['blockquote', 'code-block'], 17 | [{ list: 'ordered' }, { list: 'bullet' }], 18 | ['image'], // Include the 'image' button in the toolbar 19 | [{ 'script': 'sub'}, { 'script': 'super' }], 20 | 21 | [{ 'indent': '-1'}, { 'indent': '+1' }], // outdent/indent 22 | [{ 'direction': 'rtl' }], 23 | 24 | [{ 'color': [] }, { 'background': [] }], // dropdown with defaults from theme 25 | [{ 'font': [] }], 26 | [{ 'align': [] }], 27 | 28 | ['clean'], 29 | ], 30 | }, 31 | }; 32 | 33 | return ( 34 | 41 | ); 42 | }; 43 | 44 | export default QuillEditor; 45 | -------------------------------------------------------------------------------- /client/src/quizModule/components/quill/viewer.css: -------------------------------------------------------------------------------- 1 | /* Add this CSS to your project's stylesheet or a