As a user I want to use backend APIs for projects and clients so that I can create, read, update and delete project and client data. Implement FastAPI endpoints: POST/GET/PUT/DELETE /projects, POST/GET/PUT/DELETE /clients, GET /projects/{id} with full detail including activities and budget summary, POST /projects/{id}/activities, PUT/DELETE /projects/{id}/activities/{activity_id}, POST /projects/{id}/fixed-costs. Include role-based access control (Admin/PM only for write operations). Return budget computed fields (budgeted cost, actual cost, remaining, variance) in project detail response.
As a user I want to see a consistent autumn theme across all pages so that the app feels cohesive and on-brand. Apply the design tokens from the SRD: Primary Burnt Orange (#CC5500), Secondary Deep Brown (#5C4033), Accent Golden Yellow (#FFD700), Background Light Beige (#F5F5DC), Text Dark Gray (#333333). Set up global CSS variables, font (Inter), base layout structure (topbar + sidebar + content), and remove any scaffold pages not needed (AI assistant, generic welcome page). This task is independent and must be completed before all other frontend tasks.
As a user I want to use backend APIs for time entries so that I can log, retrieve and manage timesheet data. Implement FastAPI endpoints: POST/GET/PUT/DELETE /time-entries, GET /time-entries?user_id&project_id&date_from&date_to for filtered views, GET /timesheets/weekly?user_id&week for weekly grid data, POST /timesheets/submit for week submission. Include validation: prevent logging on closed projects, warn if daily hours exceed configurable threshold. Aggregate daily/weekly totals. Track created_by, updated_by audit fields.
As a user I want to log in with email and password so that I can access the application securely. Implement the Login page with autumn theme styling (warm beige background, burnt orange CTA button, autumn-team logo). Include form validation, error messages, and a 'Forgot password' link. On success, redirect to the Dashboard. Reuse existing scaffold login logic but align visuals to the autumn design system established in t1.
As a user I want to use backend APIs for expenses so that I can submit, approve, reject and filter project expenses. Implement FastAPI endpoints: POST/GET/PUT/DELETE /expenses, POST /expenses/{id}/submit, POST /expenses/{id}/approve, POST /expenses/{id}/reject, GET /expenses?project_id&user_id&status&category&date_from&date_to. Support receipt file upload (multipart/form-data). Status transitions: Draft → Submitted → Approved/Rejected. Log who approved/rejected and when for auditability. Approved expenses must contribute to project actual cost calculations.
As a user I want to use backend APIs for roles and cost rates so that I can define hourly rates per role and override them per project. Implement FastAPI endpoints: POST/GET/PUT/DELETE /roles, GET /roles with internal cost rate and billing rate per role, POST /projects/{id}/role-rates for project-specific rate overrides, GET /projects/{id}/team with member assignments and their rates. Support assignment of users to projects with a specific role. These rates are used in budget and actual cost calculations.
As a user I want to see an immersive animated autumn forest landing page so that I can understand the product and sign in. Implement the Landing page based on the existing JSX design (v2). Includes: NavBar with logo, nav links, CTA buttons; Hero section with parallax forest animation and falling leaves; TrustBadges strip; FeatureHighlights 3-column card grid with tree trunk micro-interactions; HowItWorks 4-step flow; RolePersonas 3-column grid; LiveDemoPreview browser mockup; Testimonials dark panel; CallToAction burnt orange section; Footer. Sign In navigates to the Login page.
As a user I want to view a dashboard with project overviews, KPIs, and assignments so that I can quickly understand project health. Implement the Dashboard page based on the existing JSX design (v2). Includes: TopBar with breadcrumb and user avatar dropdown; Sidebar navigation with active state highlighting and role badge; StatsOverview KPI cards (total projects, budget used, hours this week, pending expenses); ProjectsTable with budget status indicators (green/yellow/red traffic light), client, PM, status columns; QuickActions panel; RecentActivity feed. Adapts per role: Admin/PM sees all projects, Team Member sees assigned projects.
As a user I want to use backend APIs for reports so that I can retrieve aggregated project data and export it to CSV or Excel. Implement FastAPI endpoints: GET /reports/projects (list with budget vs actual summary), GET /reports/projects/{id} (detailed KPIs), GET /reports/by-user?date_from&date_to (hours and costs per user), GET /reports/time-expenses?project_id&date_from&date_to, GET /reports/export?format=csv|xlsx (streaming file response). Calculations include: budgeted vs actual hours, labor cost, expense cost, remaining budget, variance, budget used %.
As a user I want to submit, view and manage project expenses so that I can track costs and get approvals efficiently. Implement the Expenses page based on the existing JSX design (v2). Includes: TopBar; Sidebar; ExpensesHeader with 'Add Expense' button and summary KPI chips (Total Submitted, Pending Approval, Approved This Month); FilterBar (status, category, project, date range, member); ExpensesTable with date, member, project, category icon, amount, status badge, receipt thumbnail, and approve/reject actions for Admin/Finance roles; AddExpenseModal with form fields (date, project, activity, category, amount, description, receipt upload); ExpenseSummaryFooter. Status workflow: Draft → Submitted → Approved/Rejected.
As a user I want to view, filter and create projects so that I can manage all company projects in one place. Implement the Projects page based on the existing JSX design (v2). Includes: TopBar; Sidebar; ProjectsHeader with 'New Project' button and filter bar (by client, status, PM, date range); ProjectsGrid or table with project cards showing status badge, budget used %, client name, PM avatar; Pagination. 'Create Project' button opens a modal or navigates to a project creation form. Clicking a project navigates to the Project Detail page.
As a user I want to view and export time and expense reports so that I can analyze project performance and share data with stakeholders. Implement the Reports page based on the existing JSX design (v2). Includes: TopBar; Sidebar; ReportsHeader with export buttons (CSV, Excel); ReportFilterBar (report type, project, user, date range); SummaryKPIs strip; ReportChart (bar/line chart of budget vs actual over time); DetailedReportTable with columns for project, hours, labor cost, expenses, total, variance; ByUserReport table; ExportModal with format options. Covers: by-project report, by-user report, time & expense report.
As a user I want to log and review my weekly hours so that I can accurately track time spent on projects and activities. Implement the Timesheet page based on the existing JSX design (v2). Includes: TopBar with breadcrumb; Sidebar; TimesheetHeader with weekly KPI chips (Total Hours, Billable Hours, Pending Approval) and Add Time Entry / Export Week buttons; WeekNavigator with prev/next week arrows, Today button, calendar picker, and hours progress bar; WeeklyHoursGrid with editable cells per day per project-activity row, today column highlight, total row; LogHoursPanel collapsible form (date, project, activity, hours, notes); DailySummaryBar mini bar chart; RecentEntriesList with status badges and Submit Week button; StatusBar.
As a user I want to view and manage a single project's details, activities, time logs, expenses and team so that I can track project progress end-to-end. Implement the Project Detail page based on the existing JSX design (v2). Includes: TopBar with breadcrumb (Dashboard > Projects > [Project Name]); Sidebar with project quick-nav; ProjectHeader panel (status badge, project name, client, description, Edit/Export buttons, metadata strip with PM, dates, budget); BudgetStatusBar with 4 KPI cards (Budgeted Cost, Actual Cost, Remaining Budget, Budget Used % arc); ProjectTabNav (Activities, Time Logs, Expenses, Team & Roles); ActivitiesPanel table with inline progress bars and expandable rows; TimeLogsPanel grouped by date; ExpensesPanel with approve/reject workflow; TeamRolesPanel with cost rates table.
As a user I want all frontend pages to be connected to live backend data so that I can use the application with real project, timesheet, expense and report data. Wire up all pages (Dashboard, Projects, Project Detail, Timesheet, Expenses, Reports) to their respective FastAPI endpoints. Implement API client service layer (axios/fetch with auth token headers), React Query or SWR for data fetching and caching, loading states, error states, and empty states. Handle JWT token refresh. Ensure role-based UI rendering (Admin/PM vs Team Member vs Finance Controller views).
No page designs yet.
The Design Agent will generate JSX pages automatically after user flows are created.
No user flows yet.
The User Flow Agent will generate per-persona navigation diagrams after SRD updates.
No comments yet. Be the first!