Skip to content

Final Project - Trippio - Gabriella, Asako & Sandra#150

Open
gabriellaberko wants to merge 365 commits intoTechnigo:mainfrom
gabriellaberko:main
Open

Final Project - Trippio - Gabriella, Asako & Sandra#150
gabriellaberko wants to merge 365 commits intoTechnigo:mainfrom
gabriellaberko:main

Conversation

@gabriellaberko
Copy link
Copy Markdown

Trippio is a fullstack travel planning web application where users can discover destinations, build and manage trip itineraries, and connect with other travellers. The project is built as a complete fullstack application with authentication, authorization, social features, and rich media support through custom image uploads and dynamic destination photos. The frontend is built with React and TypeScript and communicates with a RESTful backend API to handle authentication, trip management, image handling, and social interactions in real time.

Gabriella Berkowicz and others added 30 commits February 24, 2026 13:58
…sStarredByUser gets updated in fetch of the trip
…ng and error to be handeled as global states
…dle both trip as global state and as prop + update interface for TripCardProps
…o fix inconsistency in the server response of the field between different routes
…s in mytripspage to show if the trip is public or private
Appilistus and others added 29 commits March 5, 2026 11:22
fix bug in add activity functionality
…hLayout into modul, add authcard component and authmodal component, and implemented modal in publicnavbar
Updated README.md to enhance formatting and clarity.
fix accessibility for the github and linkedin links
Copy link
Copy Markdown
Contributor

@HIPPIEKICK HIPPIEKICK left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really good job with your final project! Your code is clean and you've used a lot more than two external libraries, so kudos for that! You "only" have a 96% score on Lighthouse but given that every other requirement is met and I couldn't find any bugs you're approved.

Comment on lines +273 to +277
User.findOneAndUpdate(
{ _id: req.user._id },
{ $addToSet: { following: userId } },
{ new: true, runValidators: true }
),
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Neat!

Comment on lines +1 to +15
import { TripInterFace } from "../../types/interfaces";
import { useAuthStore } from "../../stores/AuthStore";


// Placed in a hook so that the variables istripCreator & isStarredByUser can be computed based on any trip (the global state trip or trip passed as a prop)
export const useTripPermissions = (trip: TripInterFace | null) => {
const userId = useAuthStore(state => state.userId);

if (!trip || !userId || !trip.creator) return { isTripCreator: false, isStarredByUser: false };

const isTripCreator = trip.creator._id === userId;
const isStarredByUser = trip.starredBy.some(id => id === userId);

return { isTripCreator, isStarredByUser };
} No newline at end of file
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice hook!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants