Landmark Explorer App
Users will be able to see a gallery of famous landmarks and have the ability to favorite, mark visited, and review locations
C (Create): Users can add a landmark to their favorites or mark it as visited.
R (Read): Users can view a list of famous landmarks and read details about each landmark.
U (Update): Users can provide comments on landmarks they have visited.
D (Delete): Users can remove a landmark from their favorites or visited list.
Client-Side Routing & Purpose
/home: The landing page displays a button that navigates to the landmarks page or, for a stretch goal, allows users to sign up.
/visited: This page displays a list of visited landmarks and provides options to mark or unmark landmarks as visited.
/landmarks: Users can view a list of famous landmarks on this page, with the ability to view details and add/remove them from their favorites.
/favorites: Users can see their list of favorite landmarks on this page and have options to remove landmarks from their favorites.
Components
App: The main component responsible for handling routing and managing the application's state.
Header: A navigation header component that appears at the top of each page, providing links to home, visited, landmarks, and favorites.
LandmarkList: A reusable component for displaying a list of landmarks. It is utilized on both the /landmarks and /favorites pages.
Visited: This component displays the list of visited landmarks and allows users to manage their visited status.
Favorites: This component displays the list of favorite landmarks and provides options to manage favorites.
Stretch Goals
Interactive Map Integration: Incorporate an interactive map (e.g., Google Maps) to display the geographical locations of famous landmarks. This would provide users with a visual representation of the landmarks' locations.
Social Sharing to Third-Party Sites: Implement social sharing functionality that allows users to share their favorite landmarks or visited destinations on third-party social media platforms.