An end-to-end accessible route navigation web platform designed for university campuses. The system calculates optimal paths for mobility-impaired students using a Modified Dijkstra Algorithm that filters out non-accessible routes (e.g., stairs) in real time.
- Accessible Route Calculation: Custom pathfinding algorithm filtering paths based on accessibility attributes (
is_accessible). - Voice Assistance (NFR-01): Integrated Web Speech API for visual-impaired usability.
- Usability Focused: Built according to the 3-Click Rule for intuitive user navigation.
- Admin Management Panel: Interface for administrators to update node/edge accessibility statuses.
- Security & Testing: Full STRIDE Threat Modeling analysis (Rate-Limiting DoS mitigation) and 100% core test coverage via Jest.
- Frontend: React (Vite), Bootstrap 5, Web Speech API
- Backend: NestJS (TypeScript, Modular Architecture)
- Database: PostgreSQL via Supabase
- DevOps & Containerization: Docker (Node Alpine Image)
- Testing: Jest Unit Testing
- Architecture Models: C4 Context & Container Diagrams, UML Use Case, Sequence, and Class Diagrams
[ React Frontend ] ---> (REST API) ---> [ NestJS Backend ] ---> [ Supabase / Postgres ]
|
[ Dijkstra Engine ]
π Repository Structure
Plaintext
βββ engelsiz-backend/ # NestJS REST API, Dijkstra Algorithm & Jest Tests
βββ engelsiz-frontend/ # React web application UI
π Getting Started with Docker
Prerequisites
Docker Desktop installed on your machine.
Running Backend via Docker
Clone the repository:
Bash
git clone [https://github.com/Arzuduzgun/accessible-campus-navigation.git](https://github.com/Arzuduzgun/accessible-campus-navigation.git)
Build and run the Docker container:
Bash
cd engelsiz-backend
docker build -t engelsiz-backend-image .
docker run -p 3000:3000 --env-file .env engelsiz-backend-image
Running Unit Tests
Bash
cd engelsiz-backend
npm test