Files
noteplace-front/docs/WORKLOG.md
T
haopengzhan 162a38aca3
Node.js CI / build (18.x) (push) Failing after 6m31s
Node.js CI / build (20.x) (push) Failing after 3h14m55s
Initial commit
feat: scaffolded basic auth login and dashboard(empty)
2025-09-20 00:40:19 -07:00

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

  1. API Service: Create a centralized API service file to manage all fetch calls to the backend.
  2. Fetch Places: Implement a getPlaces() function that calls the /api/places endpoint.
  3. Place Component: Create a PlaceCard.tsx component to display the information for a single place (name, category, address).
  4. Update Dashboard: Modify the DashboardPage.tsx to:
    • 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 PlaceCard component.

📝 Milestone 3: Place Details & Ratings View

Status: Planned

  1. Routing: Add a new dynamic route for /places/:id.
  2. Place Detail Page: Create a PlaceDetailPage.tsx component.
  3. Navigation: Make each PlaceCard from the dashboard link to its corresponding detail page.
  4. Fetch Details: On the detail page, fetch and display the specific place's information from /api/places/:id.
  5. Display Ratings: Fetch all ratings for the place from /api/places/:id/ratings and 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.