Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
225 commits
Select commit Hold shift + click to select a range
ec99d73
Enhance Mentor Review Pop Model
ruchiralak Mar 25, 2026
0080335
UI enhance
ruchiralak Mar 25, 2026
b65e26e
Merge remote-tracking branch 'origin/86ex0x3k8-ui_fixes' into 86ex11u…
ruchiralak Mar 25, 2026
027fa83
Enhance Task Review UI
ruchiralak Mar 25, 2026
816feea
Add API endpoints for mentee activity summary and feedback history
muditha20 Mar 26, 2026
7dad0dc
Create Filter repository + API's and UI
ruchiralak Mar 26, 2026
302c4ad
Fix a bug
ruchiralak Mar 26, 2026
08913a1
Enhance mentee activity summary
muditha20 Mar 26, 2026
dcd92e7
fix a bug
ruchiralak Mar 26, 2026
b8d990a
Fix a minor bug
ruchiralak Mar 26, 2026
2d7674f
npm run seed
muditha20 Mar 26, 2026
5ca041d
Tankstack
ruchiralak Mar 27, 2026
69d3c70
Merge remote-tracking branch 'origin/Testing-layout' into 86ex1eyd5-E…
ruchiralak Mar 27, 2026
99b44f0
Fix minor Bug
ruchiralak Mar 27, 2026
789b470
Merge remote-tracking branch 'origin/86ex1eyyf-Mentee-Activity-Summar…
ruchiralak Mar 27, 2026
e2ec73b
mergin ui
arshvinw5 Mar 27, 2026
eec5867
update activity repo
arshvinw5 Mar 28, 2026
6366303
Calender
ruchiralak Mar 28, 2026
cd8dd36
Merge branch '86ex1eyyf-Mentee-Activity-Summary-and-Feedback-History'…
arshvinw5 Mar 28, 2026
ec78929
Merge branch '86ex1f4un-Implement-Project-Technology-Assignment-and-R…
arshvinw5 Mar 28, 2026
ea8a5e6
Calender-component
ruchiralak Mar 28, 2026
57c0368
merge Email notification
arshvinw5 Mar 28, 2026
a515287
Add admin mentee page
jaleelfathima Mar 28, 2026
b994da7
folder structure improvement
arshvinw5 Mar 28, 2026
dc39307
Merge remote-tracking branch 'origin/86ex2e5g7-mentor_calendar' into …
muditha20 Mar 28, 2026
81c8b06
side panel icons changed
muditha20 Mar 28, 2026
6e2de00
add alert box for logout
arshvinw5 Mar 28, 2026
27603b0
update middleware to direct mentor dashbaord
arshvinw5 Mar 28, 2026
3d0a4e2
fix route bug for dashbaord
arshvinw5 Mar 28, 2026
ea5d7a3
Merge remote-tracking branch 'origin/86ex2e5g7-mentor_calendar' into …
ShasmaAfs Mar 28, 2026
b3367a6
Merge remote-tracking branch 'origin/86ex2e5g7-Calender-Layout' into …
muditha20 Mar 28, 2026
18a40a5
Create Mentor Dashboard Component
ShasmaAfs Mar 28, 2026
169453d
Improve dashboard layout and refactored calendar dashboard
muditha20 Mar 28, 2026
20d54d0
Merge remote-tracking branch 'origin/86ex2e5g7-mentor_calendar' into …
jaleelfathima Mar 28, 2026
f15de01
merge calendar page
arshvinw5 Mar 28, 2026
ced3538
login page bg image update
muditha20 Mar 29, 2026
8e700a8
Fix a bug on calender
ruchiralak Mar 29, 2026
b4febf6
fix the useEffect loop
arshvinw5 Mar 29, 2026
de222b0
merge 86ex2e5g7-Calender-Layout
arshvinw5 Mar 29, 2026
43dbbc9
fix logout alert box missing after merger
arshvinw5 Mar 29, 2026
493f705
update activity schema with status and add more fn in activity repo
arshvinw5 Mar 29, 2026
814dfda
Add mentee profile view
Azeez1999 Mar 29, 2026
a8698a4
api update to change student task status
muditha20 Mar 29, 2026
216c64c
api update to change student task status
muditha20 Mar 29, 2026
226fb7c
reorder imports
muditha20 Mar 29, 2026
b132620
updated ui and folder structure
jaleelfathima Mar 29, 2026
1c40aea
reset login page
arshvinw5 Mar 29, 2026
6df863d
Merge branch '86ex2e5g7-Mentor-calendar-components' into 86ex2e5g7-me…
arshvinw5 Mar 29, 2026
f8b39d9
refacor code for fix infinite loop
arshvinw5 Mar 29, 2026
9d96316
Merge remote-tracking branch 'origin/86ex2e5g7-mentor_calendar' into …
ShasmaAfs Mar 29, 2026
1c7ddad
merge 86ex2e56v-mentor-dashboard-component
arshvinw5 Mar 30, 2026
cc882d3
add mentor dashboard API integration with TanStack Query
ShasmaAfs Mar 30, 2026
1e1b26c
fix infinity loop
arshvinw5 Mar 30, 2026
aca32d0
Merge branch '86ex2e56v-mentor-dashboard-component' into 86ex2e5g7-me…
arshvinw5 Mar 30, 2026
9cae6b7
fixed calendar compoenent
arshvinw5 Mar 30, 2026
e25a08e
Mentee components
ruchiralak Mar 30, 2026
368b2ed
Merge remote-tracking branch 'origin/86ex2e5vb-mentee-profile-view' i…
ruchiralak Mar 30, 2026
b3da39b
bug fixing
muditha20 Mar 30, 2026
8dfb04a
adjust mentor dashboard page ui
muditha20 Mar 30, 2026
0d1596b
Enhance Profile and Fix : Fix an issue related to the working time Al…
ruchiralak Mar 31, 2026
f5e1d53
bug fix with taskstack query
arshvinw5 Mar 31, 2026
5b25d3b
update all the hooks with mutations
arshvinw5 Mar 31, 2026
1f23b1e
imporve profomace in calendar
arshvinw5 Apr 1, 2026
19fd329
Fix:Ui corrections
ruchiralak Apr 2, 2026
f5d253b
update mentee profile view ui and fn fixes
arshvinw5 Apr 2, 2026
d48acfa
seperate hook for fetch mentor accept and reject
arshvinw5 Apr 2, 2026
cb9b150
Adjust Mentor Dashboard and Mentees UI
muditha20 Apr 2, 2026
c683bf1
uodate hooks
arshvinw5 Apr 2, 2026
cd48cb5
merging
muditha20 Apr 2, 2026
f6fbbfd
mergin
muditha20 Apr 2, 2026
f20e347
merged ui fixes from mentee tab
arshvinw5 Apr 2, 2026
7b47691
Revamp the mentee profile
ruchiralak Apr 4, 2026
3c4d882
Fix :Bug in mentee and mentor calender view
ruchiralak Apr 4, 2026
baa90eb
Add validation to limit mentor 3 activities per day
muditha20 Apr 4, 2026
6d385f3
Enhancing Mentor Calender view :Animated avatars for taks replacement…
ruchiralak Apr 5, 2026
59e5dfc
Refactor AsideSidebar layout: Adjust padding of logo and add sticky v…
muditha20 Apr 5, 2026
4646697
Fix : Bugs
ruchiralak Apr 6, 2026
b6d7532
made a public route
ruchiralak Apr 6, 2026
3740c0e
Onboarding model
ruchiralak Apr 6, 2026
69ab57a
seed data added for menteeApplication model
ruchiralak Apr 6, 2026
fd62b63
Merge branch '86ex52u8y-Onbarding' into 86ex5br8e-implement-onboardin…
ShasmaAfs Apr 6, 2026
5d96d48
Implement Onboarding Repository
ShasmaAfs Apr 6, 2026
4f53126
implement API for onboarding process (86ex5cvbz)
Azeez1999 Apr 6, 2026
e8eb747
feat(onboarding): add TanStack mutation hook and wire showcase submit
jaleelfathima Apr 7, 2026
ccabe0b
Fix : Fix a bug in Onboarding repository
ruchiralak Apr 7, 2026
7baa5e0
add onboarding approval functionality with drag-and-drop interface
muditha20 Apr 7, 2026
8a143c1
onboarding: enhance invitation process with optional project assignme…
ruchiralak Apr 8, 2026
09b0814
implement mentor assignment using kanban board
muditha20 Apr 8, 2026
587cc7f
Refactor the codebase
ruchiralak Apr 9, 2026
3337ecc
add batch number field to projects and users, update related componen…
ruchiralak Apr 9, 2026
148fa7d
refactor the kanban board functions
muditha20 Apr 9, 2026
76d5a04
Correct comment formatting in ProjectFormDialog component
muditha20 Apr 9, 2026
2b7ffcb
Enhance the Kanban project cards and add filtering system
ruchiralak Apr 11, 2026
997367a
Introduced batch number filtering in UsersFilters component.
ruchiralak Apr 11, 2026
48422f6
Refactor AdminOnboardingPage: Enhance comments for clarity and improv…
ruchiralak Apr 11, 2026
c7b074f
implement bulk upload functionality for invitations frontend
ShasmaAfs Apr 12, 2026
2859e82
improve drag-and-drop functionality
muditha20 Apr 12, 2026
3eaa114
kanban card enhancement
muditha20 Apr 12, 2026
90cfb37
uodate hooks
arshvinw5 Apr 2, 2026
282aaf5
Adjust Mentor Dashboard and Mentees UI
muditha20 Apr 2, 2026
ef2f7b6
merging
muditha20 Apr 2, 2026
eb6c8a4
Refactor AdminOnboardingPage: Enhance comments for clarity and improv…
ruchiralak Apr 11, 2026
f735e0e
Refactor kanban board components
muditha20 Apr 11, 2026
6196580
fix import error in onbaording page
arshvinw5 Apr 12, 2026
110faba
Refactor Kanban and ProjectCard components
muditha20 Apr 13, 2026
13f329b
Merge remote-tracking branch 'origin/86ex5d0p2-Kanban-Board-Setup' in…
arshvinw5 Apr 13, 2026
8da48c9
fix import path after merge
arshvinw5 Apr 13, 2026
fc65736
Fix BenchCard width to ensure full-width display in Kanban board
ruchiralak Apr 13, 2026
afd4375
Merge remote-tracking branch 'origin/86ex5d0p2-Kanban-Board-Setup' in…
arshvinw5 Apr 13, 2026
b933842
add media query to kanband board bench card
arshvinw5 Apr 13, 2026
cc6dc84
merge 86ex6cpgx-Test-bulk-uploading
arshvinw5 Apr 13, 2026
f0be055
add usebulkinviation hook and refactor ui with tabs
arshvinw5 Apr 15, 2026
93e7688
fix the mentee profie view in mentor tab
arshvinw5 Apr 15, 2026
a56a1a5
Implement warning status feature with CRUD operations and UI integration
ruchiralak Apr 15, 2026
7052892
Enhance MenteevWarningvCard
muditha20 Apr 15, 2026
03d58e6
Refactor MenteeProfileView component
muditha20 Apr 15, 2026
42e3345
Refactor MenteeWarningCard: reorder imports and remove unused variables
ruchiralak Apr 16, 2026
5a56814
Merge branch '86ex7a0db-Warning-Feature' of https://github.com/tracet…
ruchiralak Apr 16, 2026
2df6463
Add Warning Category enum
muditha20 Apr 16, 2026
6da15ef
Merge branch '86ex7a0db-Warning-Feature' of https://github.com/tracet…
muditha20 Apr 16, 2026
ee77900
update bulk upload hook response
arshvinw5 Apr 16, 2026
a0c6e13
Add MenteeAvatar component with warning indicator
muditha20 Apr 16, 2026
2523b36
Implementing User Avatars in Calendar Mapping Table
ShasmaAfs Apr 16, 2026
b4dd04b
refactor _hook folder
arshvinw5 Apr 16, 2026
0805bbc
refactor imports and enhance UI components
ruchiralak Apr 16, 2026
05e7665
Merge remote-tracking branch 'origin/86ex6bbja-bulk-invitation' into …
ruchiralak Apr 16, 2026
4f54b2c
Complete Pending Merge
ruchiralak Apr 16, 2026
5d33be1
refactor _hook folder
arshvinw5 Apr 16, 2026
b178141
Clear sensitive email credentials in .env file
ruchiralak Apr 16, 2026
a0445c9
add more filters to bulk inviation to map the file
arshvinw5 Apr 16, 2026
1f29a5e
merge 86ex97zff-Add-Warning-Based-Color-Circle
arshvinw5 Apr 17, 2026
f230cf4
Refactor warning status hooks and update MenteeWarningCard component
ruchiralak Apr 17, 2026
2273bd2
Implement student dashboard and profile pages
muditha20 Apr 17, 2026
6562426
fix the logout button bug
arshvinw5 Apr 17, 2026
e29e193
Implement calendar view enhancements
muditha20 Apr 17, 2026
8704578
Add warning circle display in avatar component
muditha20 Apr 18, 2026
555fea1
Refactor UserDropdown component
muditha20 Apr 18, 2026
60ef96e
Refactor warning status hooks
muditha20 Apr 18, 2026
dbd91a9
Fix import order in MenteeWarningCard component
muditha20 Apr 18, 2026
536d468
Refactor warning status hooks
muditha20 Apr 18, 2026
e6c2e7d
add orpc to system
arshvinw5 Apr 18, 2026
8075035
chore: remove node_modules from git tracking and implement oRPC
arshvinw5 Apr 18, 2026
5b7c531
fix: move oRPC dependencies from root to server folder
arshvinw5 Apr 18, 2026
bb272bc
Merge remote-tracking branch 'origin/86ex97zff-Add-Warning-Based-Colo…
ruchiralak Apr 18, 2026
c02a25f
Implement report generation for bulk reports and mentee activities
muditha20 Apr 18, 2026
4aa07bf
Merge remote-tracking branch 'origin/86ex9q6zz-orpc-impl' into 86ex10…
ruchiralak Apr 19, 2026
d791e8e
Merge remote-tracking branch 'origin/86ex9q6zz-orpc-impl' into 86ex10…
muditha20 Apr 19, 2026
684f81f
Merge branch '86ex10q06-mentee-system' of https://github.com/tracet2t…
muditha20 Apr 19, 2026
5049f7f
Fix PDF report generation issues
muditha20 Apr 19, 2026
41c0df8
build profile view frontend
Azeez1999 Apr 19, 2026
de661f4
add open API playground
arshvinw5 Apr 19, 2026
e619d7e
reduce HTTP requests and improve latency during SSR
arshvinw5 Apr 19, 2026
16a576a
implement mentee dashboard frontend with activity feed and analytics
ShasmaAfs Apr 19, 2026
986e074
Rechange the profile view frontend
Azeez1999 Apr 20, 2026
03f3833
remove back button and streamline bulk uploading
muditha20 Apr 20, 2026
81a8fc4
enhance StudentDashboardPage with responsive pagination and viewport …
ShasmaAfs Apr 20, 2026
a30b1b1
refactor LoginPage labels for clarity and consistency
ShasmaAfs Apr 20, 2026
d5ea6a7
imply oRCP error handling client and server apis
arshvinw5 Apr 21, 2026
87cac0f
implement mentee dashboard API with data fetching
ShasmaAfs Apr 21, 2026
a457ea2
Add technology stack selector to student task detail dialog
muditha20 Apr 21, 2026
08d6c00
set mentee dashboard as default landing route after auth
ShasmaAfs Apr 21, 2026
65be91d
Merge remote-tracking branch 'origin/86exae9kx-Implement-Mentee-Dashb…
muditha20 Apr 21, 2026
001c722
refctor the code and bug fix
muditha20 Apr 21, 2026
dbe6471
Merge remote-tracking branch 'origin/86exae9kx-Implement-Mentee-Dashb…
muditha20 Apr 21, 2026
f7e71a4
redesign profile view UI
Azeez1999 Apr 21, 2026
43106a3
small correction profile view UI
Azeez1999 Apr 22, 2026
ebb8986
Merge branch '86ex9q4cn-profile-view-mentee-frontend' into 86exawnqa-…
muditha20 Apr 22, 2026
e54ad77
Rechange the correction profile view UI
Azeez1999 Apr 22, 2026
b917658
Merge branch '86ex9q4cn-profile-view-mentee-frontend' into 86exawnqa-…
muditha20 Apr 22, 2026
38c899e
chore: save current branch changes before push
jaleelfathima Apr 22, 2026
eb2ebc9
add technologies field save/edit feature
muditha20 Apr 22, 2026
0362b35
refctor the code
muditha20 Apr 22, 2026
0f43d85
add technologies field to mentor task detail dialog
muditha20 Apr 22, 2026
e35652c
add task name to mentee dashboard activities & extraction and Feedbac…
ShasmaAfs Apr 22, 2026
86103ac
expose orpc to public route
arshvinw5 Apr 22, 2026
2ec3bd0
improve MenteeProfileUIPage layout
muditha20 Apr 22, 2026
43df021
test: add mentee technology repository and route tests
jaleelfathima Apr 22, 2026
ccbc2db
add search functionality for mentee and mentor benches
muditha20 Apr 23, 2026
a1bd8b2
implement and integrate mentee profile API
Azeez1999 Apr 23, 2026
49a6f64
change search box position
muditha20 Apr 23, 2026
4226585
intergrated apis to frontend
muditha20 Apr 23, 2026
31039c0
Merge branch '86exbnz0f-Add-Search-Box' into 86exaeb8a-mentee-profile…
muditha20 Apr 23, 2026
e01f05d
Merge remote-tracking branch 'origin/86exbnz0f-Add-Search-Box' into 8…
arshvinw5 Apr 23, 2026
1510ff6
merge 86exbnz0f-Add-Search-Box
arshvinw5 Apr 23, 2026
7e326da
Merge branch 'fix-bulk-upload' into 86exbnz0f-Add-Search-Box
muditha20 Apr 23, 2026
a54a486
made copy of fix naming convention
arshvinw5 Apr 23, 2026
d92f41e
Merge remote-tracking branch 'origin/feature/86exa1996-fix-bulk-uploa…
arshvinw5 Apr 23, 2026
c5c1565
Fix Mentor Calendar Mapping Table mobile view - scrolling and expand …
jaleelfathima Apr 23, 2026
221000e
enhance Activity Details dialog
muditha20 Apr 23, 2026
5835fde
add mobile drawer sidebar
muditha20 Apr 23, 2026
055ac89
reorganize imports in layout components
muditha20 Apr 23, 2026
b156d4a
Merge branch 'bug/86exa16ej-generate-report' into feature/86exby30c-m…
muditha20 Apr 24, 2026
cb4f008
merge: integrate mobile drawer sidebar navigation into mentor calenda…
jaleelfathima Apr 24, 2026
c10d30e
fixed conflicts
muditha20 Apr 24, 2026
72d0bb9
Merge branch '86exa1nw5-Mentor-Calendar-Mapping-Table' of https://git…
muditha20 Apr 24, 2026
cd79610
Merge remote-tracking branch 'origin/feature/86exby30c-mobile-drawer-…
arshvinw5 Apr 24, 2026
1e5073a
Merge remote-tracking branch 'origin/86exa1nw5-Mentor-Calendar-Mappin…
arshvinw5 Apr 24, 2026
81af425
Merge remote-tracking branch 'origin/86ex9q6zz-orpc-impl' into 86exa1…
jaleelfathima Apr 24, 2026
278d2cb
restrict calendar access for mentors without tasks
muditha20 Apr 24, 2026
ef93d51
Fix All Form Modals to Close on Outside Click
muditha20 Apr 24, 2026
23c48ff
add integration tests for mentee dashboard route
ShasmaAfs Apr 24, 2026
4b6b1f8
Merge remote-tracking branch 'origin/bug/86excbh46-model-issues' into…
ShasmaAfs Apr 24, 2026
3c79d39
Refactor ReportsTable for improved mobile responsiveness & UI consist…
ShasmaAfs Apr 24, 2026
f24ccb9
align buttons and improve visibility in Bulk Upload Step 2
Azeez1999 Apr 25, 2026
fd120f7
Merge remote-tracking branch 'origin/bug/86excbh46-model-issues' into…
arshvinw5 Apr 25, 2026
c778cc7
Fix shifting month when the dialog closes
muditha20 Apr 25, 2026
0087ea8
improve avatar visibility on mobile
muditha20 Apr 25, 2026
3ce591d
improve avatar visibilty on mobile
muditha20 Apr 25, 2026
dab96aa
Enhance mobile responsiveness in UserDropdown component
muditha20 Apr 25, 2026
6043cf4
merged some fixes
arshvinw5 Apr 25, 2026
748247b
Merge remote-tracking branch 'origin/bug/86excbh46-model-issues' into…
arshvinw5 Apr 25, 2026
f985d5f
Implement pagination and mobile responsiveness
muditha20 Apr 25, 2026
41f3264
Merge remote-tracking branch 'origin/bug/86excbh46-model-issues' into…
arshvinw5 Apr 25, 2026
682df32
Update avatar background color
muditha20 Apr 25, 2026
1d2c448
add middleware for get the errors from base
arshvinw5 Apr 25, 2026
e6ca284
Merge remote-tracking branch 'origin/bug/86excbh46-model-issues' into…
arshvinw5 Apr 25, 2026
cba0405
change bench avatar color
muditha20 Apr 25, 2026
a2dd985
fix(onboarding): mobile layout adjustments for kanban and create proj…
jaleelfathima Apr 25, 2026
b30c3df
Merge branch 'bug/86exa1gqe-Onboarding-Approval-Dashboards' into bug/…
muditha20 Apr 25, 2026
6f4add9
Merge remote-tracking branch 'origin/bug/86excbh46-model-issues' into…
arshvinw5 Apr 25, 2026
f6b1c5e
fix orpc bug on passing data to onbaording url
arshvinw5 Apr 26, 2026
845b4b6
add more comment about CORS impl
arshvinw5 Apr 26, 2026
15ada87
update rpc route for cors network security
arshvinw5 Apr 26, 2026
0e54dfa
impl oRPC API with authentication and error handling
arshvinw5 Apr 26, 2026
96b7819
remove auth check let middlwear to handle the procedure-lvl
arshvinw5 Apr 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Dependencies
node_modules/
/.pnp
.pnp.js

# Testing
/coverage

# Production
/build
/dist

# Misc
.DS_Store
*.pem
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# Debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# IDE
.vscode/
.idea/
*.swp
*.swo
*~

# OS
Thumbs.db

# Package manager lock files (optional - some teams gitignore these)
# package-lock.json
# yarn.lock
195 changes: 195 additions & 0 deletions docs/BULK_INVITATION_GUIDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
# Bulk Invitation Upload Guide

## Overview

The bulk invitation feature allows administrators to send multiple invitations at once by uploading an Excel file (.xlsx or .xls).

## Excel File Format

### Required Columns

Your Excel file must include the following columns:

1. **Email** (Required)
- Valid email address
- Example: `john.doe@example.com`

2. **Role** (Required)
- Must be one of: `student`, `mentor`, or `superAdmin`
- Case-insensitive
- Example: `student`, `Student`, `STUDENT`

3. **Project** (Optional)
- Project identifier or name
- Example: `project-123` or `Web Development`

4. **Name** or **Full Name** (Optional but Recommended)
- Full name of the person to invite
- Will be split into firstName and lastName
- Example: `John Doe`
- If not provided, firstName will be extracted from email

### Sample Excel Structure

| Email | Role | Project | Full Name |
| ---------------------- | ---------- | --------------- | ---------- |
| john.doe@example.com | student | Web Development | John Doe |
| jane.smith@example.com | mentor | Mobile App | Jane Smith |
| admin@example.com | superAdmin | System Admin | Admin User |

## File Requirements

- **Format**: `.xlsx` or `.xls` files only
- **Size Limit**: Maximum 5MB
- **Row Limit**: Maximum 500 rows per upload
- **First Row**: Should contain column headers

## How to Use

### Step 1: Prepare Your Excel File

1. Create an Excel file with the required columns
2. Fill in the invitation data
3. Ensure all email addresses are valid
4. Check that roles are correctly spelled

### Step 2: Upload the File

1. Navigate to the Invitations page
2. Click "Bulk Upload" button
3. Drag and drop your Excel file or click to browse
4. Wait for file validation

### Step 3: Map Fields

1. Map your Excel columns to system fields:
- Email → Select the column containing email addresses
- Role → Select the column containing roles
- Project → Select the column containing project information
2. Review the preview data (first 5 rows)
3. Verify mappings are correct

### Step 4: Send Invitations

1. Click "UPLOAD & SEND INVITATIONS"
2. Monitor the progress bar
3. Review the results summary

### Step 5: Review Results

The results page shows:

- Total invitations processed
- Number successfully sent
- Number failed
- Detailed error list for failed invitations

## Data Processing

### Name Extraction

If a "Name" or "Full Name" column exists:

- The system splits it into firstName and lastName by the first space
- Example: "John Doe" → firstName: "John", lastName: "Doe"

If no name column is provided:

- firstName is extracted from the email username
- Example: "john.doe@example.com" → firstName: "john.doe"
- lastName is left empty

### Field Mapping Enhancement (Optional)

You can modify the `BulkUploadTabs.tsx` file to add dedicated firstName and lastName mapping:

```typescript
// In useBulkUpload.ts, update FieldMapping interface:
interface FieldMapping {
email: string;
role: string;
project: string;
firstName: string; // Add this
lastName: string; // Add this
}

// Then users can map these columns separately in Step 2
```

## Error Handling

Common errors and solutions:

1. **Invalid file format**
- Solution: Use .xlsx or .xls files only

2. **File too large**
- Solution: Split into multiple files under 5MB each

3. **Too many rows**
- Solution: Upload in batches of 500 rows or fewer

4. **Missing required fields**
- Solution: Ensure all rows have email and role

5. **Invalid email format**
- Solution: Check email addresses are properly formatted

6. **Invalid role**
- Solution: Use only: student, mentor, or superAdmin

## API Integration

The bulk upload uses the existing `/api/invitations` endpoint:

```typescript
POST /api/invitations
Content-Type: application/json

{
"email": "user@example.com",
"firstName": "John",
"lastName": "Doe",
"role": "student",
"projectId": "project-123"
}
```

Each invitation is sent sequentially to avoid overwhelming the server.

## Tips for Success

1. **Test with a small file first** (5-10 rows) before uploading hundreds
2. **Double-check email addresses** to avoid bounces
3. **Use consistent column names** in your Excel files
4. **Keep a backup** of your Excel file in case you need to retry
5. **Review failed invitations** and correct data before retrying

## Troubleshooting

### Invitations not sending

- Check your internet connection
- Verify the API endpoint is responding
- Check browser console for errors

### Progress stuck

- Refresh the page and try again
- Check if the API has rate limiting
- Try uploading fewer rows

### All invitations failing

- Verify your Excel file format matches the requirements
- Check that field mappings are correct
- Ensure the API is accessible

## Next Steps

After successful bulk upload:

1. Recipients receive invitation emails
2. Track invitation status in the Invitations table
3. Follow up on pending invitations
4. Resend expired invitations if needed
Loading
Loading