Skip to content

About

this is a repository created for bitwise learn platform. for benefiting students and institutions

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

BitwiseLearn – Centralized Learning & Institution Management Platform


1. Executive Summary

BitwiseLearn is a full-stack, web-based learning and institution management platform developed to digitize and streamline administrative and academic operations within educational organizations. The platform provides a centralized system for managing users, students, batches, vendors, and institutes while enforcing strict role-based access control to ensure security and data integrity. The project is designed with scalability, modularity, and maintainability as core principles. By leveraging modern web technologies and industry-standard architectural patterns, BitwiseLearn offers a robust solution that can adapt to the evolving needs of educational institutions.

2. Project Objectives

The primary objectives of BitwiseLearn are:

  • To design and implement a centralized platform for managing institutional data
  • To provide secure authentication and authorization using role-based access control
  • To simplify student, batch, vendor, and institute management through structured workflows
  • To ensure scalability and maintainability through modular backend architecture
  • To deliver a responsive and user-friendly interface for administrative operations
Directory structure:
└── bitwiselearn20-bitwise-learn/
    β”œβ”€β”€ README.md
    β”œβ”€β”€ docker-compose.backend.yml
    β”œβ”€β”€ docker-compose.frontend.yml
    β”œβ”€β”€ docker-compose.service-worker.yml
    β”œβ”€β”€ docker-compose.yml
    β”œβ”€β”€ package.json
    β”œβ”€β”€ turbo.json
    β”œβ”€β”€ .dockerignore
    β”œβ”€β”€ .npmrc
    β”œβ”€β”€ apps/
    β”‚   β”œβ”€β”€ client/
    β”‚   β”‚   β”œβ”€β”€ README.md
    β”‚   β”‚   β”œβ”€β”€ eslint.config.mjs
    β”‚   β”‚   β”œβ”€β”€ next.config.ts
    β”‚   β”‚   β”œβ”€β”€ package.json
    β”‚   β”‚   β”œβ”€β”€ postcss.config.mjs
    β”‚   β”‚   β”œβ”€β”€ tsconfig.json
    β”‚   β”‚   β”œβ”€β”€ .dockerignore
    β”‚   β”‚   └── src/
    β”‚   β”‚       β”œβ”€β”€ proxy.ts
    β”‚   β”‚       β”œβ”€β”€ api/
    β”‚   β”‚       β”‚   β”œβ”€β”€ handleLogin.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ admins/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ create-admin.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-admin-stats.tsx
    β”‚   β”‚       β”‚   β”‚   └── get-all-admins.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ assessments/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ create-assessment-section.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ create-assessments.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ create-question.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ delete-assessment-question.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ delete-assessment-section.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ delete-assessment.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-all-assessments.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-all-sections.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-assessment-by-id.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-assessments-by-batch.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-section-questions.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ publish-assessment.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ report-request.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ submit-assessment.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ update-assessment-question.ts
    β”‚   β”‚       β”‚   β”‚   └── update-assessment-section.ts
    β”‚   β”‚       β”‚   β”œβ”€β”€ auth/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ forgot-password.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ reset-password.ts
    β”‚   β”‚       β”‚   β”‚   └── verifyForgotPassword.ts
    β”‚   β”‚       β”‚   β”œβ”€β”€ batches/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ create-batch.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ create-batches.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-all-batches.tsx
    β”‚   β”‚       β”‚   β”‚   └── get-batch-by-id.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ contact/
    β”‚   β”‚       β”‚   β”‚   └── sendComplaint.ts
    β”‚   β”‚       β”‚   β”œβ”€β”€ courses/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ assignment/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ add-assignment-to-section.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ delete-assignment.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-assignment-by-id.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-section-assignments.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-student-section-assignment.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ submit-assignment.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   └── update-assignment.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ assignment-questions/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ add-question.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ delete-question.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   └── update-question.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ course/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ course-progress-by-id.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ course-progress.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ create-course.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ delete-course-by-id.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-all-course-progress.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-all-courses.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-course-by-id.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ publish-course.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ update-course.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ upload-certificate.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ upload-thumbnail.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   └── enrollments/
    β”‚   β”‚       β”‚   β”‚   β”‚       β”œβ”€β”€ enroll-institution.ts
    β”‚   β”‚       β”‚   β”‚   β”‚       β”œβ”€β”€ get-all-batch-courses.ts
    β”‚   β”‚       β”‚   β”‚   β”‚       └── get-all-enrollment.ts
    β”‚   β”‚       β”‚   β”‚   └── section/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ add-content-to-section.ts
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ create-section.ts
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ delete-content-from-section.ts
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ delete-section.ts
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ get-section.ts
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ update-content-to-section.ts
    β”‚   β”‚       β”‚   β”‚       └── upload-transcript.ts
    β”‚   β”‚       β”‚   β”œβ”€β”€ health/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ health.ts
    β”‚   β”‚       β”‚   β”‚   └── health.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ institutions/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ create-institution.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ entity.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-all-institutions.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-institute-by-id.tsx
    β”‚   β”‚       β”‚   β”‚   └── get-institutions-by-vendor.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ listed-courses/
    β”‚   β”‚       β”‚   β”‚   └── listed-courses.ts
    β”‚   β”‚       β”‚   β”œβ”€β”€ problems/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ change-status.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ create-admin-problem.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ create-solution.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ create-template.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ create-testcase.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ create-topic.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ delete-testcase.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-all-problems.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-all-submission.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-all-template.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-all-testcases.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-individual-problem.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-problem-count.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-problem-solution.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ load-profile.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ run-code.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ search-problem.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ update-problem.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ update-solution.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ update-tempate.tsx
    β”‚   β”‚       β”‚   β”‚   └── update-testcase.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ reports/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-assessment-report.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-full-report.tsx
    β”‚   β”‚       β”‚   β”‚   └── get-student-data.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ students/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ create-student.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-all-students.tsx
    β”‚   β”‚       β”‚   β”‚   └── get-students-by-batch.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ teachers/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ create-teacher.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-all-teachers.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-teachers-by-batch.tsx
    β”‚   β”‚       β”‚   β”‚   └── get-teachers-by-institute.tsx
    β”‚   β”‚       β”‚   └── vendors/
    β”‚   β”‚       β”‚       β”œβ”€β”€ create-vendors.tsx
    β”‚   β”‚       β”‚       β”œβ”€β”€ get-all-vendors.tsx
    β”‚   β”‚       β”‚       β”œβ”€β”€ get-vendor-by-id.tsx
    β”‚   β”‚       β”‚       └── get-vendor-dashboard.tsx
    β”‚   β”‚       β”œβ”€β”€ app/
    β”‚   β”‚       β”‚   β”œβ”€β”€ globals.css
    β”‚   β”‚       β”‚   β”œβ”€β”€ layout.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ page.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ (Login Pages)/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ admin-login/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── page.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ multi-login/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── page.tsx
    β”‚   β”‚       β”‚   β”‚   └── student-login/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚       └── page.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ about/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   └── page.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ admin-dashboard/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ page.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ admins/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── page.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ assessments/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ page.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚       β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚       └── page.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ batches/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ page.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── [batchId]/
    β”‚   β”‚       β”‚   β”‚   β”‚       β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚       └── page.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ compiler/
    β”‚   β”‚       β”‚   β”‚   β”‚   └── page.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ courses/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ page.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── page.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ institutions/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ page.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── [institutionId]/
    β”‚   β”‚       β”‚   β”‚   β”‚       β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚       └── page.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ problems/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ page.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚       β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚       └── page.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ reports/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ page.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ assessment/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── page.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── courses/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚           β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚           β”œβ”€β”€ page.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚           └── [batchId]/
    β”‚   β”‚       β”‚   β”‚   β”‚               β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚               └── page.tsx
    β”‚   β”‚       β”‚   β”‚   └── vendors/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ page.tsx
    β”‚   β”‚       β”‚   β”‚       └── [vendorId]/
    β”‚   β”‚       β”‚   β”‚           β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚           └── page.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ api/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ admin/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ admins/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ delete/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚   └── update/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── create-admin/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ batch/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ delete/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── update/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚           └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ change-status/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ create-problem/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ create-solution/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ create-template/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ create-testcase/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ create-topic/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ delete-problem/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ delete-testcase/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-admin-stats/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-problem/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ institution/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ delete/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── update/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚           └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ search-problem/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ student/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ delete/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── update/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚           └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ teacher/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ delete/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── update/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚           └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ update-problem/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ update-solution/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ update-template/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ update-testcase/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   └── update-topic/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚           └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ assessment-report/
    β”‚   β”‚       β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ assessments/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ create-assessment/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ create-assessment-section/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ create-question/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ delete-assessment/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ delete-assessment-question/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ delete-assessment-section/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-all-assessments/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-all-batch-assessments/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-all-sections/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-assessment-by-id/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-by-batch/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-by-institution/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-institute-assessments/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-section-questions/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ publish-assessment/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ submit/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── question/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚           └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ update-assessment-question/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   └── update-assessment-section/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚           └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ auth/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ forgot-password/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ logout/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ reset-password/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   └── verify-forgot-password/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ batch/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ create-batch/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   └── get-batches-for-institution/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚           └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ compile/
    β”‚   β”‚       β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ contact/
    β”‚   β”‚       β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ course/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ add-content-by-sectionId/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ assignment/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ add-assignment-to-section/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ delete-assignment/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ get/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ get-all-section-assignments/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ get-student-section-assignments/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ submit/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── update-assignment/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚           └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ assignment-question/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ add/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ delete/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── update/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚           └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ change-status/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ create-course/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ create-enrollment/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ create-section/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ delete-content-from-section/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ delete-course/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ delete-section/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ enrollments/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚   └── delete/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── institute/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── [institutionId]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚           └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚               └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-all-course-progress/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-course-by-id/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-course-progress/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-enrollment-by-batch/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-section-by-courseId/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-student-courses/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ institute/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ publish-course/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ update-content-by-sectionId/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ update-course/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ upload-certificate/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ upload-thumbnail/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   └── upload-transcript/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚           └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ full-assessment-report/
    β”‚   β”‚       β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ get-problem/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ count/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ solution/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ submission/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ template/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   └── testcases/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚           └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ health/
    β”‚   β”‚       β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ institution/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ create-institution/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   └── vendor-institutions/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚           └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ listed-courses/
    β”‚   β”‚       β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ login/
    β”‚   β”‚       β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ logs/
    β”‚   β”‚       β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ problem/
    β”‚   β”‚       β”‚   β”‚   β”‚   └── profile/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ reports/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ assessment-report/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   └── course-report/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ run/
    β”‚   β”‚       β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ student/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ create-student/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   └── get-by-batch/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚           └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ submit/
    β”‚   β”‚       β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ teacher/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ create-teacher/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ get-by-batch/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚       └── route.ts
    β”‚   β”‚       β”‚   β”‚   β”‚   └── get-by-institute/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── [id]/
    β”‚   β”‚       β”‚   β”‚   β”‚           └── route.ts
    β”‚   β”‚       β”‚   β”‚   └── upload/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ route.ts
    β”‚   β”‚       β”‚   β”‚       └── [id]/
    β”‚   β”‚       β”‚   β”‚           └── route.ts
    β”‚   β”‚       β”‚   β”œβ”€β”€ assessments/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ page.tsx
    β”‚   β”‚       β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚       └── page.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ attempt/
    β”‚   β”‚       β”‚   β”‚   └── page.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ blog/
    β”‚   β”‚       β”‚   β”‚   └── page.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ compiler/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   └── page.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ contact/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   └── page.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ courses/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ page.tsx
    β”‚   β”‚       β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ page.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ assignment/
    β”‚   β”‚       β”‚   β”‚       β”‚   └── [assignmentId]/
    β”‚   β”‚       β”‚   β”‚       β”‚       β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚       β”‚       β”œβ”€β”€ page.tsx
    β”‚   β”‚       β”‚   β”‚       β”‚       └── attempt/
    β”‚   β”‚       β”‚   β”‚       β”‚           β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚       β”‚           └── page.tsx
    β”‚   β”‚       β”‚   β”‚       └── studyMode/
    β”‚   β”‚       β”‚   β”‚           β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚           └── page.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ dashboard/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   └── page.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ institution-dashboard/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   └── page.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ listed-courses/
    β”‚   β”‚       β”‚   β”‚   └── page.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ our-services/
    β”‚   β”‚       β”‚   β”‚   └── page.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ problems/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ page.tsx
    β”‚   β”‚       β”‚   β”‚   └── [id]/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚       └── page.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ teacher-dashboard/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚   β”‚   └── page.tsx
    β”‚   β”‚       β”‚   └── vendor-dashboard/
    β”‚   β”‚       β”‚       β”œβ”€β”€ loading.tsx
    β”‚   β”‚       β”‚       └── page.tsx
    β”‚   β”‚       β”œβ”€β”€ component/
    β”‚   β”‚       β”‚   β”œβ”€β”€ (admin-course-pages)/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ add-assignment/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ AddAssignment.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚   β”‚       β”œβ”€β”€ AddAssignmentV1.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚       β”œβ”€β”€ assignment.css
    β”‚   β”‚       β”‚   β”‚   β”‚       β”œβ”€β”€ AssignmentInfo.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚       β”œβ”€β”€ QuestionEditor.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚       β”œβ”€β”€ QuestionEditorWrapper.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚       └── QuestionNavigation.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ add-question/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ AddQuestion.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── V1/
    β”‚   β”‚       β”‚   β”‚   β”‚       β”œβ”€β”€ AddCodeQuestion.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚       β”œβ”€β”€ AddMCQ.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚       └── AddQuestionV1.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ add-section/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ AddSection.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ v1/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ AddSectionV1.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── helper.css
    β”‚   β”‚       β”‚   β”‚   β”‚   └── v2/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── AddSectionV2.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ course-builder/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ CourseBuilder.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── CourseBuilderV1.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ course-form/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ CourseForm.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── CourseFormV1.tsx
    β”‚   β”‚       β”‚   β”‚   └── publish-course/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ PublishCourse.tsx
    β”‚   β”‚       β”‚   β”‚       └── v1/
    β”‚   β”‚       β”‚   β”‚           └── PublishCourseV1.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ (Login Pages)/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ admin-login/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ AdminLogin.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── AdminLoginV1.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ multi-login/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ MultiLogin.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── V1/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── MultiLoginV1.tsx
    β”‚   β”‚       β”‚   β”‚   └── student-login/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ StudentLogin.tsx
    β”‚   β”‚       β”‚   β”‚       └── v1/
    β”‚   β”‚       β”‚   β”‚           β”œβ”€β”€ ForgotPasswordForm.tsx
    β”‚   β”‚       β”‚   β”‚           β”œβ”€β”€ OtpForm.tsx
    β”‚   β”‚       β”‚   β”‚           β”œβ”€β”€ ResetPasswordForm.tsx
    β”‚   β”‚       β”‚   β”‚           └── StudentLoginV1.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ about/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ About.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ AboutHeader.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ AboutV1.tsx
    β”‚   β”‚       β”‚   β”‚       └── EdTechFocus.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ admin-compiler/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ Compiler.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ CodeCompiler.tsx
    β”‚   β”‚       β”‚   β”‚       └── CompilerV1.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ admin-dashboard/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ AdminDashboard.tsx
    β”‚   β”‚       β”‚   β”‚   └── V1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ AdminDashboardV1.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ EntityDetailModal.tsx
    β”‚   β”‚       β”‚   β”‚       └── HeroSection.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ AdminCourses/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ AdminCourses.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ AdminCoursesV1.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ CourseCard.tsx
    β”‚   β”‚       β”‚   β”‚       └── RightSection.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ AdminProblem/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ AdminProblem.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ AddSolution.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ AllTestCases.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ ProblemDescrption.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ ProblemInfo.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ ProblemTrial.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ ShowAddTemplateForm.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ Solution.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ Submissions.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ Templates.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ TestCaseForm.tsx
    β”‚   β”‚       β”‚   β”‚       └── V1AdminProblem.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ AllAdmins/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ AllAdmins.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ AdminForm.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ DashboardInfo.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ V1AllAdmins.tsx
    β”‚   β”‚       β”‚   β”‚       └── VendorForm.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ AllBatches/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ AllBatches.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ DashboardInfo.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ V1AllBatches.tsx
    β”‚   β”‚       β”‚   β”‚       └── VendorForm.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ AllInstitutions/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ AllInstitutions.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ DashboardInfo.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ EntityDetailModel.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ InstitutionForm.tsx
    β”‚   β”‚       β”‚   β”‚       └── V1AllInstitutions.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ AllQuestions/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ AllQuestions.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ AllListedQuestions.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ Filter.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ OnGoingingCourses.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ QuestionCard.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ QuestionInforSidebar.tsx
    β”‚   β”‚       β”‚   β”‚       └── V1AllComponents.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ AllVendors/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ AllVendors.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ DashboardInfo.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ V1AllVendors.tsx
    β”‚   β”‚       β”‚   β”‚       └── VendorForm.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ AssessmentBuilder/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ AssessmentBuilder.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ AddCODEAssessmentQuestion.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ AddMCQAssessmentQuestion.tsx
    β”‚   β”‚       β”‚   β”‚       └── AssessmentBuilderV1.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ Assessments/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ Assessments.tsx
    β”‚   β”‚       β”‚   β”‚   └── V1/
    β”‚   β”‚       β”‚   β”‚       └── AssessmentsV1.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ assignment/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ Assignment.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ DummyData/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ dummyData.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── dummyTypes.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ v1/
    β”‚   β”‚       β”‚   β”‚   β”‚   └── AssignmentV1.tsx
    β”‚   β”‚       β”‚   β”‚   └── v2/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ AssignmentCard.tsx
    β”‚   β”‚       β”‚   β”‚       └── AssignmentV2.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ attempt/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ Attempt.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ assignment.css
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ AttemptV1.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ CodeRightSection.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ ConfirmExit.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ ConfirmSubmit.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ LeftSection.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ RightSection.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ types.ts
    β”‚   β”‚       β”‚   β”‚       └── Proctoring/
    β”‚   β”‚       β”‚   β”‚           β”œβ”€β”€ AntiCheat.tsx
    β”‚   β”‚       β”‚   β”‚           β”œβ”€β”€ FullScreenEnforcer.tsx
    β”‚   β”‚       β”‚   β”‚           └── TabSwitchCounter.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ auth/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ ForgotPasswordForm.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ OtpForm.tsx
    β”‚   β”‚       β”‚   β”‚   └── ResetPasswordForm.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ Batch-info/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ BatchInfo.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ AssessmentsForm.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ BatchSidebar.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ BatchStudentForm.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ EntityList.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ InfoBlock.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ StudentsForm.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ Tabs.tsx
    β”‚   β”‚       β”‚   β”‚       └── V1BatchInfo.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ Blog/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ Blog.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       └── BlogV1.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ compiler/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ Compiler.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ CodeCompiler.tsx
    β”‚   β”‚       β”‚   β”‚       └── CompilerV1.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ contact/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ Contact.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ V1/
    β”‚   β”‚       β”‚   β”‚   β”‚   └── ContactV1.tsx
    β”‚   β”‚       β”‚   β”‚   └── V2/
    β”‚   β”‚       β”‚   β”‚       └── ContactV2.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ Contributors/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ Contributors.tsx
    β”‚   β”‚       β”‚   β”‚   └── V1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ ContributorsV1.tsx
    β”‚   β”‚       β”‚   β”‚       └── ProfileCard.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ courses/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ AllCourses/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ AllCourses.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── AllCoursesV1.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ AttempAssignment/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ AttemptAssignment.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── AttemptAssignmentV1.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ Course/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ Course.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ v1/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ Assignments.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ BreadCrumbs.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ CourseV1.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ LeftSection.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ MarkCompleteButton.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ RightSection.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ SectionCard.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ Study.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ StudyModeToggle.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   β”‚   └── WhatYoullLearn.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── v2/
    β”‚   β”‚       β”‚   β”‚   β”‚       β”œβ”€β”€ CourseV2.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚       └── PDFViewer.tsx
    β”‚   β”‚       β”‚   β”‚   └── CourseStudyMode/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ CourseStudyMode.tsx
    β”‚   β”‚       β”‚   β”‚       └── v1/
    β”‚   β”‚       β”‚   β”‚           β”œβ”€β”€ CourseMeta.tsx
    β”‚   β”‚       β”‚   β”‚           β”œβ”€β”€ CourseStudyModeV1.tsx
    β”‚   β”‚       β”‚   β”‚           β”œβ”€β”€ NotesPanel.tsx
    β”‚   β”‚       β”‚   β”‚           └── VideoSection.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ CreateStudent/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ CreateStudent.tsx
    β”‚   β”‚       β”‚   β”‚   └── V1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ CreateStudentV1.tsx
    β”‚   β”‚       β”‚   β”‚       └── Input.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ CreateVendor/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ CreateVendor.tsx
    β”‚   β”‚       β”‚   β”‚   └── V1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ CreateVendorV1.tsx
    β”‚   β”‚       β”‚   β”‚       └── Input.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ general/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ BatchesForm.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ CourseForm.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ Filter.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ Footer.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ Navbar.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ SideBar.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ StudentForm.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ StudentSidebar.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ TeacherForm.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ useRole.ts
    β”‚   β”‚       β”‚   β”‚   └── (Color Manager)/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ Colors.ts
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ Palette.ts
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ SemanticColors.ts
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ SemanticCSSVariables.ts
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ ThemeController.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ ThemeSwitcher.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ useColors.tsx
    β”‚   β”‚       β”‚   β”‚       └── useSemanticColors.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ Home/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ Home.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ V1/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ V1Home.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── V1HomeNav.tsx
    β”‚   β”‚       β”‚   β”‚   └── V2/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ Companies.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ CTA.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ FAQ.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ Hero.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ HomeV2.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ HowItWorks.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ Newsletter.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ ScrollReveal.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ Testimonials.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ useInView.ts
    β”‚   β”‚       β”‚   β”‚       └── WhyBitwise.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ Institution-Dashboard/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ InstitutionDashboard.tsx
    β”‚   β”‚       β”‚   β”‚   └── V1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ EntityDetailModal.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ HeroSection.tsx
    β”‚   β”‚       β”‚   β”‚       └── InstitutionDashboardV1.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ Institution-info/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ InstitutionInfo.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ EntityList.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ InfoBlock.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ InstitutionSidebar.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ Tabs.tsx
    β”‚   β”‚       β”‚   β”‚       └── V1InstitutionInfo.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ ListedCourses/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ ListedCourses.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ CoursesHeader.tsx
    β”‚   β”‚       β”‚   β”‚       └── ListedCoursesV1.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ our-services/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ OurServices.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ OurServicesV1.tsx
    β”‚   β”‚       β”‚   β”‚       └── ServiceHeader.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ Problem/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ Problem.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ Description.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ Editor.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ MarkdownComponent.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ Solution.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ Submission.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ TestCases.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ TestcaseSection.tsx
    β”‚   β”‚       β”‚   β”‚       └── V1Problem.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ ProblemAdminDashboard/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ ProblemAdminDashboard.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ AllDsaProblem.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ DashboardHero.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ ProblemSubmissionForm.tsx
    β”‚   β”‚       β”‚   β”‚       └── V1ProblemAdminDashboard.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ report/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ Report.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ courseEnrollment/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ CourseEnrollment.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── CourseEnrollmentV1.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ individualAssessmentReport/
    β”‚   β”‚       β”‚   β”‚   β”‚   └── IndividualAssessmentReport.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ individualCourseReport/
    β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ IndividualCourseReport.tsx
    β”‚   β”‚       β”‚   β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚   β”‚       └── IndividualCourseReportV1.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ AllAssessments.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ AllCourses.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ ReportHero.tsx
    β”‚   β”‚       β”‚   β”‚       └── ReportV1.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ student-assessment/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ StudentAssessment.tsx
    β”‚   β”‚       β”‚   β”‚   └── v1/
    β”‚   β”‚       β”‚   β”‚       └── StudentAssessmentv1.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ Student-Dashboard/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ StudentDashboard.tsx
    β”‚   β”‚       β”‚   β”‚   └── V1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ EntityDetailModal.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ HeroSection.tsx
    β”‚   β”‚       β”‚   β”‚       └── StudentDashboardV1.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ Teacher-Dashboard/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ VendorDashboard.tsx
    β”‚   β”‚       β”‚   β”‚   └── V1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ EntityDetailModal.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ HeroSection.tsx
    β”‚   β”‚       β”‚   β”‚       └── TeacherDashboardV1.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ ui/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ Card.tsx
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ MarkDownEditor.tsx
    β”‚   β”‚       β”‚   β”‚   └── tabs.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ Vendor-Dashboard/
    β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ VendorDashboard.tsx
    β”‚   β”‚       β”‚   β”‚   └── V1/
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ EntityDetailModal.tsx
    β”‚   β”‚       β”‚   β”‚       β”œβ”€β”€ HeroSection.tsx
    β”‚   β”‚       β”‚   β”‚       └── VendorDashboardV1.tsx
    β”‚   β”‚       β”‚   └── Vendor-Info/
    β”‚   β”‚       β”‚       β”œβ”€β”€ VendorInfo.tsx
    β”‚   β”‚       β”‚       β”œβ”€β”€ VendorInstitutions.tsx
    β”‚   β”‚       β”‚       └── v1/
    β”‚   β”‚       β”‚           β”œβ”€β”€ DashboardInfo.tsx
    β”‚   β”‚       β”‚           β”œβ”€β”€ EntityDetailModel.tsx
    β”‚   β”‚       β”‚           β”œβ”€β”€ InfoBlock.tsx
    β”‚   β”‚       β”‚           β”œβ”€β”€ InstitutionForm.tsx
    β”‚   β”‚       β”‚           β”œβ”€β”€ V1VendorInfo.tsx
    β”‚   β”‚       β”‚           β”œβ”€β”€ V1VendorInstitutions.tsx
    β”‚   β”‚       β”‚           └── VendorSidebar.tsx
    β”‚   β”‚       β”œβ”€β”€ hooks/
    β”‚   β”‚       β”‚   └── .gitkeep
    β”‚   β”‚       β”œβ”€β”€ lib/
    β”‚   β”‚       β”‚   β”œβ”€β”€ access.ts
    β”‚   β”‚       β”‚   β”œβ”€β”€ authJwt.ts
    β”‚   β”‚       β”‚   β”œβ”€β”€ axios.ts
    β”‚   β”‚       β”‚   β”œβ”€β”€ logout.ts
    β”‚   β”‚       β”‚   β”œβ”€β”€ useLogs.tsx
    β”‚   β”‚       β”‚   β”œβ”€β”€ utils.ts
    β”‚   β”‚       β”‚   └── content/
    β”‚   β”‚       β”‚       β”œβ”€β”€ blog.ts
    β”‚   β”‚       β”‚       β”œβ”€β”€ courses.ts
    β”‚   β”‚       β”‚       β”œβ”€β”€ faq.ts
    β”‚   β”‚       β”‚       └── testimonials.ts
    β”‚   β”‚       └── store/
    β”‚   β”‚           β”œβ”€β”€ adminStore.ts
    β”‚   β”‚           β”œβ”€β”€ institutionStore.ts
    β”‚   β”‚           β”œβ”€β”€ studentStore.ts
    β”‚   β”‚           β”œβ”€β”€ teacherStore.ts
    β”‚   β”‚           └── vendorStore.ts
    β”‚   β”œβ”€β”€ server/
    β”‚   β”‚   β”œβ”€β”€ README.md
    β”‚   β”‚   β”œβ”€β”€ index.ts
    β”‚   β”‚   β”œβ”€β”€ package.json
    β”‚   β”‚   β”œβ”€β”€ tsconfig.json
    β”‚   β”‚   β”œβ”€β”€ .dockerignore
    β”‚   β”‚   β”œβ”€β”€ .env.example
    β”‚   β”‚   β”œβ”€β”€ controller/
    β”‚   β”‚   β”‚   β”œβ”€β”€ admin.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ assessment-question.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ assessment-section.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ assessment-submission.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ assessment.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ auth.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ batch.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ code-runner.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ contact.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ course-assignment.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ course-content.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ course-enrollment.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ course-grade.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ course-progress.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ course.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ csv-upload.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ dsa-question.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ institution.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ reports.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ student.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ super-admin.controller.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ teacher.controller.ts
    β”‚   β”‚   β”‚   └── vendor.controller.ts
    β”‚   β”‚   β”œβ”€β”€ middleware/
    β”‚   β”‚   β”‚   β”œβ”€β”€ auth.middleware.ts
    β”‚   β”‚   β”‚   └── multer.middleware.ts
    β”‚   β”‚   β”œβ”€β”€ routes/
    β”‚   β”‚   β”‚   β”œβ”€β”€ admin.routes.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ assessment.routes.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ auth.routes.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ batch.routes.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ bulk-upload.routes.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ code-runner.routes.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ contact.routes.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ course.route.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ dsa-question.route.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ index.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ institution.routes.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ report.routes.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ student.routes.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ teacher.routes.ts
    β”‚   β”‚   β”‚   └── vendor.routes.ts
    β”‚   β”‚   β”œβ”€β”€ service/
    β”‚   β”‚   β”‚   β”œβ”€β”€ cloudinary.service.ts
    β”‚   β”‚   β”‚   β”œβ”€β”€ piston.service.ts
    β”‚   β”‚   β”‚   └── s3.service.ts
    β”‚   β”‚   └── utils/
    β”‚   β”‚       β”œβ”€β”€ apiResponse.ts
    β”‚   β”‚       β”œβ”€β”€ interface.ts
    β”‚   β”‚       β”œβ”€β”€ jwt.ts
    β”‚   β”‚       β”œβ”€β”€ password.ts
    β”‚   β”‚       β”œβ”€β”€ piston.ts
    β”‚   β”‚       β”œβ”€β”€ prisma.ts
    β”‚   β”‚       β”œβ”€β”€ producer.ts
    β”‚   β”‚       β”œβ”€β”€ resetToken.ts
    β”‚   β”‚       β”œβ”€β”€ seed.ts
    β”‚   β”‚       β”œβ”€β”€ type.ts
    β”‚   β”‚       └── nodemailer/
    β”‚   β”‚           β”œβ”€β”€ emailTemplate.js
    β”‚   β”‚           β”œβ”€β”€ emailTemplate.ts
    β”‚   β”‚           β”œβ”€β”€ GeneratePass.ts
    β”‚   β”‚           └── mailHandler.ts
    β”‚   └── worker-server/
    β”‚       β”œβ”€β”€ README.md
    β”‚       β”œβ”€β”€ cron.ts
    β”‚       β”œβ”€β”€ index.ts
    β”‚       β”œβ”€β”€ package.json
    β”‚       β”œβ”€β”€ tsconfig.json
    β”‚       β”œβ”€β”€ .dockerignore
    β”‚       β”œβ”€β”€ .env.example
    β”‚       └── utils/
    β”‚           β”œβ”€β”€ assessment-processing.ts
    β”‚           β”œβ”€β”€ end-assessment.ts
    β”‚           β”œβ”€β”€ file-upload.ts
    β”‚           β”œβ”€β”€ prisma.ts
    β”‚           └── queueClient.ts
    β”œβ”€β”€ docker/
    β”‚   β”œβ”€β”€ dockerfile.backend
    β”‚   β”œβ”€β”€ dockerfile.frontend
    β”‚   └── dockerfile.service-worker
    β”œβ”€β”€ docs/
    β”‚   └── server/
    β”‚       β”œβ”€β”€ course.module.md
    β”‚       β”œβ”€β”€ dsa.module.md
    β”‚       └── services.module.md
    β”œβ”€β”€ ops/
    β”‚   └── caddyconfig.sh
    β”œβ”€β”€ packages/
    β”‚   β”œβ”€β”€ db/
    β”‚   β”‚   β”œβ”€β”€ index.ts
    β”‚   β”‚   β”œβ”€β”€ package.json
    β”‚   β”‚   β”œβ”€β”€ .env.example
    β”‚   β”‚   └── prisma/
    β”‚   β”‚       └── schema.prisma
    β”‚   β”œβ”€β”€ eslint-config/
    β”‚   β”‚   β”œβ”€β”€ README.md
    β”‚   β”‚   β”œβ”€β”€ base.js
    β”‚   β”‚   β”œβ”€β”€ next.js
    β”‚   β”‚   β”œβ”€β”€ package.json
    β”‚   β”‚   └── react-internal.js
    β”‚   β”œβ”€β”€ queue/
    β”‚   β”‚   β”œβ”€β”€ README.md
    β”‚   β”‚   β”œβ”€β”€ index.ts
    β”‚   β”‚   β”œβ”€β”€ package.json
    β”‚   β”‚   β”œβ”€β”€ tsconfig.json
    β”‚   β”‚   └── type.ts
    β”‚   β”œβ”€β”€ typescript-config/
    β”‚   β”‚   β”œβ”€β”€ base.json
    β”‚   β”‚   β”œβ”€β”€ nextjs.json
    β”‚   β”‚   β”œβ”€β”€ package.json
    β”‚   β”‚   └── react-library.json
    β”‚   └── ui/
    β”‚       β”œβ”€β”€ eslint.config.mjs
    β”‚       β”œβ”€β”€ package.json
    β”‚       β”œβ”€β”€ tsconfig.json
    β”‚       └── src/
    β”‚           β”œβ”€β”€ button.tsx
    β”‚           β”œβ”€β”€ card.tsx
    β”‚           └── code.tsx
    β”œβ”€β”€ .github/
    β”‚   └── workflows/
    β”‚       └── deployment.yaml
    └── .husky/
        β”œβ”€β”€ post-merge
        └── pre-push

About

this is a repository created for bitwise learn platform. for benefiting students and institutions

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages