2.3 KiB
2.3 KiB
Project Work Log
This document tracks the planned milestones for the Noteplace frontend project.
✅ Milestone 1: Authentication & Project Setup
Status: Complete
- Functionality: Users can log in via a full, backend-integrated Google OAuth2 flow and are directed to a protected dashboard. Session persists across page refreshes.
- Project Health: The repository is clean, includes a
.gitignore, has CI/CD workflows for both GitHub and Gitea, and has unit tests for the authentication context. - Configuration: Key URLs are configurable via environment variables in both the frontend and backend.
⏳ Milestone 2: Display Places
Status: Next Up
- API Service: Create a centralized API service file to manage all
fetchcalls to the backend. - Fetch Places: Implement a
getPlaces()function that calls the/api/placesendpoint. - Place Component: Create a
PlaceCard.tsxcomponent to display the information for a single place (name, category, address). - Update Dashboard: Modify the
DashboardPage.tsxto:- Fetch the list of all places when the component mounts.
- Display a loading state while fetching.
- Display an error state if the fetch fails.
- Render the list of places using the
PlaceCardcomponent.
📝 Milestone 3: Place Details & Ratings View
Status: Planned
- Routing: Add a new dynamic route for
/places/:id. - Place Detail Page: Create a
PlaceDetailPage.tsxcomponent. - Navigation: Make each
PlaceCardfrom the dashboard link to its corresponding detail page. - Fetch Details: On the detail page, fetch and display the specific place's information from
/api/places/:id. - Display Ratings: Fetch all ratings for the place from
/api/places/:id/ratingsand display them.
🔭 Future Milestones (High-Level)
- Place CRUD: Implement forms and API calls for creating, updating, and deleting places.
- Rating CRUD: Implement the full workflow for adding, updating, and deleting ratings, including the on-the-fly attribute creation we discussed.
- PWA Features: Add a service worker and web app manifest to make the application fully installable and provide offline capabilities.
- UI/UX Polish: Refine the user interface with improved styling, animations, and potentially a dark mode.