Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 8 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ campus_navigator/
│ ├── routes.py ← Handles URLs: connects user input → logic → webpage
│ │
│ ├── logic/ ← The "brain" of the app (pathfinding code)
│ │ ├── __init__.py ← Exports core pathfinding functions for easy imports
│ │ └── graph_manager.py ← Loads building data, runs NetworkX, returns directions
│ │ ├── __init__.py ← Exports the navigation interface
│ │ └── navigation.py ← Builds complete route outcomes from form input
│ │
│ ├── static/ ← Files the browser downloads directly
│ │ ├── css/
Expand Down Expand Up @@ -105,13 +105,12 @@ User types "Room 101" and clicks Go
↓
routes.py receives the form input
↓
routes.py calls graph_manager.py with (start="Entrance", end="Room 101")
routes.py passes the form to navigation.py
↓
graph_manager.py loads nodes.json and edges.json
graph_manager.py runs NetworkX shortest_path()
graph_manager.py returns: text directions + pixel coordinates
navigation.py loads map facts and runs NetworkX shortest_path()
navigation.py returns one outcome with status, directions, floors, and map-ready data
↓
routes.py passes results to index.html (via Flask's render_template)
routes.py passes that outcome to index.html (via Flask's render_template)
↓
index.html displays the step-by-step text directions
map.js reads the coordinates and draws the blue line over a coordinate grid
Expand All @@ -133,9 +132,9 @@ Walk the building and define the graph. Every intersection, staircase, entrance,

### ⚙️ Backend (1–2 people)

**Workspace: `app/logic/graph_manager.py`**
**Workspace: `app/logic/navigation.py`**

Write the Python function that loads the JSON files, builds the NetworkX graph, and returns both text directions and the coordinate list for the route. This can be built and tested as a standalone Python script — no webpage needed.
Keep route rules behind the `navigate()` interface. It loads the JSON files, builds the NetworkX graph, describes floor transitions, and decides whether the route has map-ready data. Test behavior through the complete outcome returned by `navigate()`.

### 🎨 Frontend (1–2 people)

Expand Down
4 changes: 2 additions & 2 deletions app/logic/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
from .graph_manager import get_directions, get_floor_bounds, get_options
from .navigation import navigate

__all__ = ["get_directions", "get_floor_bounds", "get_options"]
__all__ = ["navigate"]
202 changes: 0 additions & 202 deletions app/logic/graph_manager.py

This file was deleted.

Loading
Loading