Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
62556a8
finished frontend
RelativelyBlank Feb 21, 2025
1f56ccc
Removed Personal Information from Application and replaced with empty…
johnglass2003 Feb 24, 2025
504d8d6
done
RelativelyBlank Feb 27, 2025
3510a8e
finished create new posting for faculty
RelativelyBlank Mar 8, 2025
e636f91
Delete my-app/package-lock.json
johnglass2003 Mar 9, 2025
ab1a180
Delete my-app/package.json
johnglass2003 Mar 9, 2025
7a0fa1c
Merge pull request #69 from courseconnect-team/remove-application-fields
johnglass2003 Mar 9, 2025
d4cbfab
adding in the edit state for the profile page, allowing the user to c…
Mar 9, 2025
3c36d47
correcting packages, updating firebase dependency
Mar 9, 2025
608a5f0
Merge branch 'develop' of github.com:courseconnect-team/courseconnect…
Mar 9, 2025
dcf6c61
show password on logincard
johnglass2003 Mar 9, 2025
6d6bd94
Merge pull request #76 from courseconnect-team/hide-show-password
johnglass2003 Mar 9, 2025
5074ad9
Update Profile page
Mar 10, 2025
d76465d
almost done with patch edit posting ,issue is that it doest update th…
RelativelyBlank Mar 12, 2025
3cb5323
updating sizing and styling of delete user flow
Mar 17, 2025
4ea5183
updating code styling for component styles on delete user button flow
Mar 17, 2025
b1e4dd5
fixing syntax for defining styling for dialog pop up
Mar 17, 2025
bbc1e1e
minor style changes
raidenwilliams Mar 17, 2025
ce3eb58
fixing styling, dynamic scaling, and setting up for further development
raidenwilliams Mar 17, 2025
1bd66b7
renaming some css classes
raidenwilliams Mar 17, 2025
7932a04
more cleaning of profile css
raidenwilliams Mar 17, 2025
886ca56
updating the user profile page to pull from DB
raidenwilliams Mar 17, 2025
5d0a873
improved the UI components
Kushal0217 Mar 24, 2025
2e25e53
deleted the CC folder
Kushal0217 Mar 24, 2025
28e4959
Merge branch 'develop' of https://github.com/courseconnect-team/cours…
Kushal0217 Mar 24, 2025
9408756
Merge Research Page Frontend into Develop
johnglass2003 Mar 24, 2025
4cba660
Research Page Button, Project Cards role based display, filters for p…
johnglass2003 Mar 25, 2025
682d5e1
changing style for the profile image
raidenwilliams Mar 30, 2025
c268d19
Merge branch 'develop' of github.com:courseconnect-team/courseconnect…
raidenwilliams Mar 30, 2025
e577c50
Update .gitignore
raidenwilliams Mar 30, 2025
afb1f5a
Feed uid to faculty view and project cards, faculty_members array, di…
johnglass2003 Apr 1, 2025
d168b13
Faculty Applicants View, updates to project card, and conditional ren…
johnglass2003 Apr 1, 2025
58da8bd
Application Card, Student View Show my Applications button/page
johnglass2003 Apr 2, 2025
4b8aed8
mapped the application page and connected it to firebase
Kushal0217 Apr 2, 2025
04d5bcf
pop-up modal now works
Kushal0217 Apr 2, 2025
60b90c8
app id is now showing in the listing id as well
Kushal0217 Apr 2, 2025
0e00b60
added faculty linking with uid for creator and faculty members
RelativelyBlank Apr 5, 2025
56edf48
d
RelativelyBlank Apr 5, 2025
5ecd5ed
done
RelativelyBlank Apr 5, 2025
490feb4
Update Profile page
raidenwilliams Apr 7, 2025
6a58585
Merge branch 'develop' into application-page-frontend
RelativelyBlank Apr 9, 2025
5f1620a
updated the query method for applications
Kushal0217 Apr 9, 2025
e825d2d
implemented auto fill functionality using Users database
Kushal0217 Apr 9, 2025
e599311
added neccessary comments
Kushal0217 Apr 9, 2025
153f1ee
added neccessary comments
Kushal0217 Apr 9, 2025
0a18c88
finished all
RelativelyBlank Apr 9, 2025
9c93c83
Merge branch 'application-page-frontend' of https://github.com/course…
RelativelyBlank Apr 9, 2025
eabe423
review button shows stuff
RelativelyBlank Apr 16, 2025
e3ba153
fixed the issue with signout error
Kushal0217 Apr 16, 2025
b5da0e7
update the student research view
raidenwilliams Apr 16, 2025
6ef31e2
Merge branch 'develop' of github.com:courseconnect-team/courseconnect…
raidenwilliams Apr 16, 2025
8be6041
fix
RelativelyBlank Apr 16, 2025
c726d77
fix
RelativelyBlank Apr 16, 2025
a994b4e
Better Create New Position Button Form
johnglass2003 Apr 16, 2025
0020aad
updating the faculty research view and student research views
raidenwilliams Apr 16, 2025
cc8a883
Needs fixing, student and terms level
johnglass2003 Apr 16, 2025
0010fc5
Updated new position form
johnglass2003 Apr 21, 2025
6244085
fixed terms and student level
johnglass2003 Apr 21, 2025
d02bc8f
able to edit the application listing from the faculty view
Kushal0217 Apr 21, 2025
362b771
fixed a bug
Kushal0217 Apr 21, 2025
7dfeb75
students can only apply once
RelativelyBlank Apr 21, 2025
33ddb26
student terms and level fix
johnglass2003 Apr 21, 2025
9cc3254
Merge branch 'application-page-frontend' of https://github.com/course…
johnglass2003 Apr 21, 2025
09e5ba2
fixing student view
johnglass2003 Apr 21, 2025
3e98fd8
Migration to users collection, added view differences based on the ro…
raidenwilliams Apr 21, 2025
5291589
updated needed variables
Kushal0217 Apr 21, 2025
42c3731
Ensuring that we are saving the profile information if we are changin…
raidenwilliams Apr 21, 2025
ba20f94
degree ui fix
Kushal0217 Apr 22, 2025
9adc3b4
Auto populate Application form
johnglass2003 Apr 22, 2025
77a0d0d
Correct button height for show application on student view research page
raidenwilliams Apr 22, 2025
4ad9ec6
refactor for subcollections
RelativelyBlank Apr 22, 2025
68eea02
Merge branch 'application-page-frontend' of https://github.com/course…
RelativelyBlank Apr 22, 2025
88b2fed
one app only
RelativelyBlank Apr 22, 2025
3c403cc
removed id
RelativelyBlank Apr 22, 2025
4c40f39
overhauled applications
RelativelyBlank Apr 22, 2025
ad93edd
Merge branch 'application-page-frontend' into develop
johnglass2003 Apr 22, 2025
ea1909a
Updated the project card to handle website links
raidenwilliams Apr 22, 2025
4275549
Updating the student research views and searching. still buggy search
raidenwilliams Apr 22, 2025
73e512c
Ensuring that the read more button does not load if it is displaying …
raidenwilliams Apr 22, 2025
e1ddf04
Updating faculty page
raidenwilliams Apr 22, 2025
3d10443
Updating to use the correct data collection
raidenwilliams Apr 22, 2025
cf107a4
Update the styling for the application creation page in faculty view
raidenwilliams Apr 22, 2025
cea9acc
map faculty mentors
johnglass2003 Apr 22, 2025
fe71f15
Merge branch 'develop' of https://github.com/courseconnect-team/cours…
johnglass2003 Apr 22, 2025
a76a66f
Changing initilization to be a map
raidenwilliams Apr 22, 2025
bdb00ff
update the application view to make sure that we view correct project…
raidenwilliams Apr 22, 2025
ff12045
edit mentors
johnglass2003 Apr 22, 2025
82b652d
Update application view page properly
raidenwilliams Apr 22, 2025
c6af1f9
fix edit spacing
johnglass2003 Apr 22, 2025
218b94f
fixed applications
RelativelyBlank Apr 22, 2025
2873573
Merge branch 'develop' of https://github.com/courseconnect-team/cours…
RelativelyBlank Apr 22, 2025
5a0c332
Updating the review modal
raidenwilliams Apr 22, 2025
da87222
allow temporary ability to apply more than once
raidenwilliams Apr 22, 2025
d651911
fixed search, added required fields, working on review pop up
Kushal0217 Apr 23, 2025
27aaee8
fixed the view a little more
Kushal0217 Apr 23, 2025
65fc961
made the resume a clickable link
Kushal0217 Apr 23, 2025
ca39dfd
delete button and quotation fix
johnglass2003 Apr 23, 2025
bd517f6
Research Button Home
johnglass2003 Apr 23, 2025
bf0626e
remove research from nav
johnglass2003 Apr 23, 2025
b332213
changed up project card
Kushal0217 Apr 23, 2025
46ee3c8
resolved merge conflicts
Kushal0217 Apr 23, 2025
cd1ac60
remove backets
johnglass2003 Apr 23, 2025
fd2c290
updating application card student view
johnglass2003 Apr 23, 2025
eb839a3
Fix Read More Applications
johnglass2003 Apr 23, 2025
f40dc07
temp fix
Kushal0217 Apr 23, 2025
c10c827
Cap rolling
johnglass2003 Apr 23, 2025
068780e
go back to research
ThomasOli Jan 31, 2026
c981efd
remove
ThomasOli Jan 31, 2026
ef7d097
sd
ThomasOli Jan 31, 2026
5eb78f8
Merge main into researchpage with Research page refactoring
ThomasOli Feb 1, 2026
b510253
a
ThomasOli Feb 1, 2026
06fbf46
Merge branch 'main' into researchpage
ThomasOli Feb 8, 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
3 changes: 3 additions & 0 deletions .claude/settings.local.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
{
"permissions": {
"allow": [
"Bash(git merge:*)",
"Bash(git rm:*)",
"Bash(git commit -m \"$\\(cat <<''EOF''\nMerge main into researchpage with Research page refactoring\n\n- Refactored Research page to use PageLayout component with SideNav/TopBar\n- Updated hooks to use useUserInfo instead of getAuth/useUserRole directly\n- Removed HeaderCard from FacultyResearchView and StudentResearchView\n- Layout now handled by PageLayout component for consistency\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")"
"Bash(cd:*)"
]
}
Expand Down
2 changes: 1 addition & 1 deletion functions/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import {

const admin = require('firebase-admin');
admin.initializeApp();
const db = admin.firestore();
export const db = admin.firestore();
const auth = admin.auth();
db.settings({ ignoreUndefinedProperties: true });

Expand Down
85 changes: 85 additions & 0 deletions playwright-report/index.html

Large diffs are not rendered by default.

25 changes: 25 additions & 0 deletions playwright/.auth/admin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"cookies": [
{
"name": "__next_hmr_refresh_hash__",
"value": "831e14094f0632de387bc1e46cf07f9b633457081244afec",
"domain": "localhost",
"path": "/",
"expires": -1,
"httpOnly": false,
"secure": false,
"sameSite": "Lax"
}
],
"origins": [
{
"origin": "http://localhost:3000",
"localStorage": [
{
"name": "theme",
"value": "light"
}
]
}
]
}
14 changes: 14 additions & 0 deletions playwright/.auth/faculty.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"cookies": [],
"origins": [
{
"origin": "http://localhost:3000",
"localStorage": [
{
"name": "theme",
"value": "light"
}
]
}
]
}
14 changes: 14 additions & 0 deletions playwright/.auth/student.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"cookies": [],
"origins": [
{
"origin": "http://localhost:3000",
"localStorage": [
{
"name": "theme",
"value": "light"
}
]
}
]
}
215 changes: 215 additions & 0 deletions src/app/Research/ApplicationForm/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
'use client';

import React, { useState } from 'react';
import { getAuth } from 'firebase/auth';
import firebase from '@/firebase/firebase_config';
import {
Box,
Button,
TextField,
Typography,
Grid,
Snackbar,
Alert,
} from '@mui/material';

const ApplicationFormPage = () => {
const auth = getAuth();
const user = auth.currentUser;

const [formData, setFormData] = useState({
firstname: '',
lastname: '',
email: user?.email || '',
phone: '',
department: '',
degree: '',
gpa: '',
graduationDate: '',
resume: '',
qualifications: '',
weeklyHours: '',
availableSemesters: [],
});

const [submitted, setSubmitted] = useState(false);
const [error, setError] = useState('');

const handleChange = (e: any) => {
setFormData({ ...formData, [e.target.name]: e.target.value });
};

const handleSubmit = async () => {
if (!user) {
setError('You must be signed in to apply.');
return;
}

try {
await firebase
.firestore()
.collection('research-applications')
.add({
...formData,
uid: user.uid,
app_status: 'Pending',
date: new Date().toLocaleDateString(),
});

setSubmitted(true);
setFormData({
firstname: '',
lastname: '',
email: user.email || '',
phone: '',
department: '',
degree: '',
gpa: '',
graduationDate: '',
resume: '',
qualifications: '',
weeklyHours: '',
availableSemesters: [],
});
} catch (err) {
setError('Failed to submit application. Try again.');
console.error(err);
}
};

return (
<Box p={4}>
<Typography variant="h4" mb={3}>
Research Application Form
</Typography>

<Grid container spacing={2}>
<Grid item xs={6}>
<TextField
label="First Name"
name="firstname"
fullWidth
value={formData.firstname}
onChange={handleChange}
/>
</Grid>
<Grid item xs={6}>
<TextField
label="Last Name"
name="lastname"
fullWidth
value={formData.lastname}
onChange={handleChange}
/>
</Grid>
<Grid item xs={6}>
<TextField
label="Email"
name="email"
fullWidth
disabled
value={formData.email}
/>
</Grid>
<Grid item xs={6}>
<TextField
label="Phone Number"
name="phone"
fullWidth
value={formData.phone}
onChange={handleChange}
/>
</Grid>
<Grid item xs={6}>
<TextField
label="Department"
name="department"
fullWidth
value={formData.department}
onChange={handleChange}
/>
</Grid>
<Grid item xs={6}>
<TextField
label="Degree"
name="degree"
fullWidth
value={formData.degree}
onChange={handleChange}
/>
</Grid>
<Grid item xs={6}>
<TextField
label="GPA"
name="gpa"
fullWidth
value={formData.gpa}
onChange={handleChange}
/>
</Grid>
<Grid item xs={6}>
<TextField
label="Graduation Date"
name="graduationDate"
fullWidth
value={formData.graduationDate}
onChange={handleChange}
/>
</Grid>
<Grid item xs={12}>
<TextField
label="Resume URL"
name="resume"
fullWidth
value={formData.resume}
onChange={handleChange}
/>
</Grid>
<Grid item xs={12}>
<TextField
label="Qualifications"
name="qualifications"
fullWidth
value={formData.qualifications}
onChange={handleChange}
/>
</Grid>
<Grid item xs={6}>
<TextField
label="Weekly Hours Available"
name="weeklyHours"
fullWidth
value={formData.weeklyHours}
onChange={handleChange}
/>
</Grid>
</Grid>

<Button sx={{ mt: 3 }} variant="contained" onClick={handleSubmit}>
Submit Application
</Button>

<Snackbar
open={submitted}
autoHideDuration={4000}
onClose={() => setSubmitted(false)}
>
<Alert severity="success" sx={{ width: '100%' }}>
Application submitted successfully!
</Alert>
</Snackbar>

<Snackbar
open={!!error}
autoHideDuration={4000}
onClose={() => setError('')}
>
<Alert severity="error" sx={{ width: '100%' }}>
{error}
</Alert>
</Snackbar>
</Box>
);
};

export default ApplicationFormPage;
Loading