Classync - Simon Frisk - Final Project#112
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.
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.
add the env files to git ignore?
There was a problem hiding this comment.
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.
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