-
Notifications
You must be signed in to change notification settings - Fork 74
Classync - Simon Frisk - Final Project #112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
- Added routes for deleting and deactivating invitations, enhancing control over invitation links. - Updated workspace invitation controller to handle deletion and deactivation logic, ensuring only authorized users can perform these actions. - Enhanced API documentation for new invitation management endpoints, clarifying usage and permissions. - Refactored front-end components to integrate new invitation management functionalities, improving user experience for teachers managing invitations.
- Updated Team model to include assignedStudents field, allowing for better tracking of team members. - Modified postTeamMember and deleteTeamMember controllers to manage assignedStudents when adding or removing users from teams. - Enhanced getTeams controller to populate assignedStudents, improving data retrieval for team details. - Refactored front-end components to display assignedStudents in TeamsSection and TeamDetailPage, ensuring comprehensive visibility of team members.
- Updated Team model to include role and profileImage properties for assignedStudents, improving data structure for team members. - Modified getTeamById and getTeams controllers to populate role and profileImage for assignedTeachers and assignedStudents, enhancing data retrieval. - Adjusted postUser logic to dynamically assign users to teams based on their role, streamlining team member management during sign-up.
…raction - Introduced a new state for managing copied invitation IDs, enhancing user feedback when copying links. - Refactored invitation display components to improve layout and responsiveness, utilizing flexbox for better alignment. - Updated styles for invitation cards and buttons to enhance visual clarity and user experience. - Streamlined the invitation actions section, consolidating functionality and improving accessibility on smaller screens.
…etrieval - Modified the query in getWorkspaceUsers to select the profileImage field along with name, email, and role, enhancing the user data returned for workspaces.
…and UI updates - Updated createInvitationLink controller to accept an allowedRole parameter, validating it against predefined roles (student, teacher). - Modified SignUpForm to display the invitation role dynamically based on the invitation token validation response. - Enhanced handleSignUpSubmit to set the user role based on the invitation role, defaulting to teacher if not specified. - Introduced a modal in TeachersSection for generating and copying teacher invitation links, improving user experience for managing invitations.
… update - Added a new script for database migration in package.json to streamline workspace management. - Updated API documentation for the validateInvitationToken function to correct formatting and improve clarity on role mismatch responses.
- Updated the migrateToWorkspaces function to correctly assign the created placeholder user from the UserModel.create call, ensuring the placeholder user is properly initialized during migration.
- Moved session.endSession() to a finally block in the migrateToWorkspaces function to guarantee that the session is properly closed after both successful and failed migrations, enhancing reliability of the migration process.
…nality - Removed unused CreateUserSection import from UserPage, simplifying the component structure. - Eliminated the handleDeactivateInvitation function from TeamDetailPage, reducing complexity and improving maintainability. - Updated calendar picker styles in TeamDetailPage to utilize theme-based filtering for better visual consistency.
…rkspace management - Added useEffect in Navigation to fetch user workspaces on mount for logged-in users, improving workspace initialization. - Introduced loading state in UserPage to display a loading spinner while fetching workspace users, enhancing user experience during data retrieval. - Refactored UserPage to conditionally render user sections based on loading state, improving responsiveness and clarity.
JennieDalgren
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great job with this project!
You've done a lot of things and it is approved with VG
Some things you nailed:
• Your backend code is structured well with clear separation of concerns through different controllers.
• The use of async/await along with proper error handling is great.
• Your use of Swagger for API documentation is spot-on. it’s easy to follow and understand.
• Nice looking UI and polished product!
• Great documentation of your work, how to use the project, demo users etc.
Remember to clean up unused code and files.
Also, why not add a favicon to the site! :)
frontend/.env.production
Outdated
| @@ -0,0 +1 @@ | |||
| VITE_API_BASE_URL=https://project-final-simon.onrender.com No newline at end of file | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add the env files to git ignore?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have quite a lot of images and videos, maybe that's okay for now but be aware that the performance can suffer from this.
| @@ -0,0 +1,31 @@ | |||
| "use strict"; | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this a file that's not in use?
If so, remove it?
…t max-width based on position, preventing text clipping near edges
…to toggle subtitles and display relevant comments based on video playback time.
…ed text for non-teacher roles
635e807 to
ad6f230
Compare
- Introduced a new health check endpoint in the backend to monitor API status. - Added BackendStatusIndicator component to display backend connection status in the frontend. - Integrated health check functionality into user login and sign-up processes to handle cold start scenarios. - Updated existing components to include the BackendStatusIndicator for improved user experience during backend initialization.
…improved performance.
Pre made users
Teacher user:
Username: technigo@teacher.com
Password: technigo
Student user
technigo@student.com
Password: technigo
Quick video recap if you don't like to read😂
👇👇👇👇👇👇👇👇👇
https://github.com/user-attachments/assets/72eaf53e-e7be-4a79-aaa3-c7936c73c4e9
👆👆👆👆👆👆👆👆👆
❓ What it is:
A video review platform that solves the problem of giving specific feedback on video content. Instead of saying "around the 3-minute mark" teachers and students can comment directly on video timestamps and have meaningful discussions.
🔗 Links
Netlify link:
https://class-review.netlify.app/
Tips:
Backend documentation:
https://project-final-simon.onrender.com/
✨ Core Features
🛠️ Tech Stack
🔮 Future Plans
🤔 Things to know
Hope you enjoy the site! 😊
/Simon