Skip to content

Commit 75c03f6

Browse files
committed
Update doc && main page
1 parent d41e051 commit 75c03f6

File tree

6 files changed

+112
-27
lines changed

6 files changed

+112
-27
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ EasyRelocate is an open-source, non-commercial decision-support tool for housing
77

88
When relocating for an internship, research visit, or new job, housing information is often fragmented across multiple platforms, making comparison slow and error-prone. EasyRelocate helps users organize and compare housing options by focusing on what matters most: where to live, not where to book.
99

10-
Users collect listings while browsing platforms such as Airbnb, Blueground, facebook group using a lightweight browser extension. EasyRelocate then aggregates the minimal, user-authorized information needed to visualize listings on a single map and compare them by price, location, and commute time to a chosen workplace.
10+
Users collect listings while browsing platforms such as Airbnb, Blueground, Facebook Group using a lightweight browser extension (only support Google Chrom now). EasyRelocate then aggregates the minimal, user-authorized information needed to visualize listings on a single map and compare them by price, location, and commute time to a chosen workplace.
1111

1212
EasyRelocate does not scrape platforms server-side, host listings, process payments, or replace original marketplaces. It exists solely to help users make better relocation decisions, while respecting platform boundaries and directing all final actions back to the original sources.
1313

@@ -42,11 +42,11 @@ VITE_API_BASE_URL="http://127.0.0.1:8000"
4242
### Backend (FastAPI / server)
4343
Backend reads standard env vars (auto-loads repo-root `.env` on startup):
4444
```bash
45-
# Optional (server key; used for /api/geocode and /api/reverse_geocode)
45+
# Server key; used for /api/geocode and /api/reverse_geocode
4646
GOOGLE_MAPS_API_KEY="YOUR_SERVER_KEY"
4747
GEOCODING_PROVIDER="google"
4848

49-
# Optional (required for the extension’s “Add selected post” feature)
49+
# Rrequired for the extension’s “Add selected post” feature
5050
OPENROUTER_API_KEY="YOUR_OPENROUTER_KEY"
5151
OPENROUTER_MODEL="z-ai/glm-4.5-air:free"
5252

@@ -55,11 +55,11 @@ ENABLE_GEOCODING="1"
5555
DATABASE_URL="sqlite:///easyrelocate.db"
5656
```
5757

58-
### Extension (Chrome)
58+
### Chrome Extension (for developer)
5959
The extension does not read `.env` files. Configure its API base URL in Chrome:
6060
Extension → **Details****Extension options** → “API base URL” (default: `http://127.0.0.1:8000`).
6161

62-
## Local dev (MVP)
62+
## Local dev
6363

6464
### 1) Backend API
6565
```bash

docs/OPENROUTER_LLM_EXTRACTION.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Put these in the **repo-root** `.env`:
3636
- `OPENROUTER_APP_URL` / `OPENROUTER_APP_NAME` (optional; attribution headers)
3737

3838
## Model choice
39-
Default is `z-ai/glm-4.5-air:free` to keep costs low while we iterate on the MVP.
39+
Default is `z-ai/glm-4.5-air:free` to keep costs low while we iterate.
4040

4141
If extraction quality isn’t good enough, switch to a paid model by setting `OPENROUTER_MODEL`
4242
in `.env` (restart backend after changes).
@@ -51,4 +51,3 @@ The backend prompt is designed to:
5151
- Example: `US-101 & McLaughlin Ave, San Jose, CA 95121, USA`
5252

5353
Implementation reference: `backend/app/openrouter.py`.
54-
Lines changed: 32 additions & 0 deletions
Loading

frontend/src/App.css

Lines changed: 49 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,24 @@
2222
.brandLink {
2323
color: inherit;
2424
text-decoration: none;
25+
display: inline-flex;
26+
align-items: center;
27+
gap: 10px;
28+
padding: 6px 10px;
29+
border-radius: 999px;
30+
border: 1px solid rgba(226, 232, 240, 0.9);
31+
background: rgba(248, 250, 252, 0.9);
2532
}
2633

2734
.brandLink:hover {
28-
text-decoration: underline;
35+
background: rgba(241, 245, 249, 1);
36+
border-color: rgba(203, 213, 225, 0.9);
37+
}
38+
39+
.brandLogo {
40+
width: 22px;
41+
height: 22px;
42+
display: block;
2943
}
3044

3145
.header .hint {
@@ -274,7 +288,7 @@
274288
display: flex;
275289
align-items: center;
276290
justify-content: space-between;
277-
padding: 14px 16px;
291+
padding: 12px 0;
278292
border-bottom: 1px solid #e2e8f0;
279293
background: rgba(255, 255, 255, 0.75);
280294
backdrop-filter: blur(10px);
@@ -283,28 +297,49 @@
283297
z-index: 10;
284298
}
285299

286-
.landingBrand {
287-
font-weight: 800;
288-
letter-spacing: 0.2px;
289-
color: #0f172a;
300+
.landingHeaderInner {
301+
width: min(1120px, 100%);
302+
margin: 0 auto;
303+
padding: 0 16px;
290304
display: flex;
291305
align-items: center;
292-
gap: 10px;
306+
justify-content: space-between;
293307
}
294308

295-
.landingBrandTag {
296-
font-size: 11px;
297-
font-weight: 700;
298-
padding: 4px 8px;
309+
.landingBrandButton {
310+
font-weight: 850;
311+
letter-spacing: 0.2px;
312+
color: #0f172a;
313+
display: inline-flex;
314+
align-items: center;
315+
gap: 10px;
316+
text-decoration: none;
317+
padding: 7px 11px;
299318
border-radius: 999px;
300-
color: #334155;
301-
background: rgba(226, 232, 240, 0.7);
302319
border: 1px solid rgba(226, 232, 240, 0.9);
320+
background: rgba(248, 250, 252, 0.9);
321+
}
322+
323+
.landingBrandButton:hover {
324+
background: rgba(241, 245, 249, 1);
325+
border-color: rgba(203, 213, 225, 0.9);
326+
}
327+
328+
.landingBrandLogo {
329+
width: 24px;
330+
height: 24px;
331+
display: block;
332+
}
333+
334+
.landingHeaderActions {
335+
display: flex;
336+
align-items: center;
337+
gap: 10px;
303338
}
304339

305340
.landingMain {
306341
flex: 1;
307-
width: min(1040px, 100%);
342+
width: min(1120px, 100%);
308343
margin: 0 auto;
309344
padding: 24px 16px 40px 16px;
310345
}

frontend/src/pages/ComparePage.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -547,11 +547,17 @@ function App() {
547547
<div>
548548
<h1>
549549
<Link className="brandLink" to="/">
550+
<img
551+
className="brandLogo"
552+
src="/easyrelocate-logo.svg"
553+
alt=""
554+
aria-hidden="true"
555+
/>
550556
EasyRelocate
551557
</Link>
552558
</h1>
553559
<div className="hint">
554-
US-only MVP: save listings via the extension, then compare here.
560+
Save listings via the extension, then compare here.
555561
</div>
556562
</div>
557563
<div className="actions">

frontend/src/pages/LandingPage.tsx

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,21 @@ export default function LandingPage() {
66
return (
77
<div className="landing">
88
<header className="landingHeader">
9-
<div className="landingBrand">
10-
EasyRelocate <span className="landingBrandTag">US-only MVP</span>
9+
<div className="landingHeaderInner">
10+
<Link className="landingBrandButton" to="/">
11+
<img
12+
className="landingBrandLogo"
13+
src="/easyrelocate-logo.svg"
14+
alt=""
15+
aria-hidden="true"
16+
/>
17+
EasyRelocate
18+
</Link>
19+
<div className="landingHeaderActions">
20+
<Link className="button secondary" to="/compare">
21+
Start comparing
22+
</Link>
23+
</div>
1124
</div>
1225
</header>
1326

@@ -24,8 +37,8 @@ export default function LandingPage() {
2437
<p>
2538
EasyRelocate is a non-commercial decision-support tool for interns/students
2639
relocating to a new city. Save listings while you browse (starting with
27-
Airbnb, Blueground and LLM extraction method), then compare them on one map with price + distance
28-
filters.
40+
Airbnb, Blueground, and selected posts via LLM), then compare them on one map with
41+
price + distance filters.
2942
</p>
3043
<div className="landingCtas">
3144
<Link className="button" to="/compare">
@@ -41,7 +54,7 @@ export default function LandingPage() {
4154
</a>
4255
</div>
4356
<div className="landingNote">
44-
US-only MVP for now. Listing locations may be approximate.
57+
Listing locations may be approximate. Verify details on the original source.
4558
</div>
4659
</div>
4760

0 commit comments

Comments
 (0)