|
2 | 2 |
|
3 | 3 | College Exploration Platform is a full-stack decision-support product for helping prospective and admitted students discover, compare, rank, and justify college choices with transparent data and deterministic scoring. |
4 | 4 |
|
5 | | -Status: V1.9 deterministic ranking engine complete. Redis, pgvector, saved schools, comparisons, and deployment are intentionally not implemented yet. |
| 5 | +Status: V1.10 school profile frontend complete. Redis, pgvector, persisted saved schools, comparisons, and deployment are intentionally not implemented yet. |
6 | 6 |
|
7 | 7 | ## Project Thesis |
8 | 8 |
|
@@ -156,6 +156,7 @@ Useful local URL: |
156 | 156 | - Web app: `http://localhost:3000` |
157 | 157 | - Onboarding: `http://localhost:3000/onboarding` |
158 | 158 | - Search UI: `http://localhost:3000/search` |
| 159 | +- School profile: `http://localhost:3000/schools/1` |
159 | 160 |
|
160 | 161 | Frontend environment: |
161 | 162 |
|
@@ -221,12 +222,15 @@ Expected future commands: |
221 | 222 | ## Limitations |
222 | 223 |
|
223 | 224 | - `/health`, `/ready`, `/schools/search`, `/schools/{id}`, and `/rankings` exist. Preference persistence, saved-school, and comparison endpoints are not implemented yet. |
224 | | -- The frontend has a landing page, onboarding, search UI, route shell, UI primitives, and typed API client, but no backend preference persistence, persisted saved-school flows, comparison workflow, or profile pages yet. |
| 225 | +- The frontend has a landing page, onboarding, search UI, school profile pages, route shell, UI primitives, and typed API client, but no backend preference persistence, persisted saved-school flows, or full comparison workflow yet. |
225 | 226 | - Onboarding stores a typed `PreferenceProfile` in browser `localStorage` and forwards supported filters such as state, setting, school type, and max net price to `/search`. |
226 | 227 | - Search supports structured filters, sort controls, URL state, pagination, local save/compare state, loading/empty/error states, and API-backed result cards. |
| 228 | +- School profiles call `GET /schools/{id}`, render fit summary placeholders, academics, cost, outcomes, campus life, data-quality metadata, and a V2 similar-schools placeholder. |
227 | 229 | - The "Best fit" sort is a UI placeholder until the frontend calls `POST /rankings`. |
| 230 | +- Profile fit score, category scores, top reasons, top tradeoffs, and ranking version remain unavailable on `GET /schools/{id}` unless the backend later adds or composes ranking output. The profile page labels these states explicitly as unavailable and uses `data_confidence_score` only as data-completeness confidence. |
228 | 231 | - No Redis cache, pgvector integration, or deployment exists yet. |
229 | 232 | - No performance metrics are available. |
230 | 233 | - Seed data is synthetic and intended for deterministic local development, not factual school reporting. |
231 | | -- End-to-end validation will be added after the product workflows exist. |
| 234 | +- Playwright smoke coverage exists for search, onboarding, and school profiles. |
| 235 | +- README screenshot checklist for V1.13: landing page, onboarding completion, search with filters, school profile fit summary, profile missing-data state, and compare tray. |
232 | 236 | - Documentation is intentionally concise and should be updated as each implementation step lands. |
0 commit comments