WAYFINDERBACKEND
its a backend codebase for a way finder system
Type
Tech stack
Connected services
Documentation
Full
Setup, architecture, and how the pieces fit together.
Maintenance
Occasional
Occasional fixes, but no active roadmap.
Description
Way Finder System — Backend API (Phase 2)
Production-oriented Express.js backend for the Design and Implementation of a Way Finder System Final Year Project.
Powers a mobile-friendly web client (Capacitor-ready) through clean REST APIs while remaining backward compatible with the existing frontend integration.
Architecture Overview
Mapping providers remain OpenStreetMap / Nominatim / OSRM (not replaced).
Tech Stack
| Layer | Technology |
|---|---|
| Runtime | Node.js (LTS) |
| Framework | Express.js |
| Database | PostgreSQL |
| ORM | Prisma |
| Auth | JWT (Access + Refresh, rotation + reuse detection) |
| Validation | Zod |
| Logging | Winston (+ request IDs) |
| Docs | Swagger / OpenAPI (/api/docs) |
| Uploads | Multer |
| Maps | OpenStreetMap Nominatim + OSRM |
| Containers | Docker + docker-compose |
Developer Setup
| URL | Purpose |
|---|---|
http://localhost:5000/health | Health check (includes DB probe) |
http://localhost:5000/api/v1 | API root |
http://localhost:5000/api/docs | Swagger UI |
postman/WayFinder_API.postman_collection.json | Postman collection |
Seeded accounts
| Role | Password | |
|---|---|---|
| Admin | admin@wayfinder.local | Admin@12345 |
| User | user@example.com | Password1 |
API Modules
Auth — /api/v1/auth
Register, login, logout, refresh, forgot/reset password, profile, change password, avatar upload.
Locations — /api/v1/locations
Search (Nominatim), details, nearby, favorites, recent searches, route history.
Routes — /api/v1/routes
Calculate route, alternatives, ETA, distance, route details from history. Responses may include optional cached / cacheKey fields (additive).
FAQ
- What accounts or services do I need to set up before running this?
- You need PostgreSQL for the database and Docker to run the full stack. The mapping features use OpenStreetMap, Nominatim, and OSRM, which are free and public, no API keys required. Authentication is JWT-based and self-contained; no third-party auth service is needed.
- What's the tech stack?
- Node.js with Express, Prisma as the ORM, PostgreSQL as the database, and Docker for containerization. Validation runs through Zod, logging through Winston. If you've built Express APIs before, the structure will be straightforward.
- How do I get it running locally?
- Docker and docker-compose handle the full setup. The health check endpoint is at `http://localhost:5000/health` and includes a database probe. Seeded test accounts are included (admin@wayfinder.local / Admin@12345 and user@example.com / Password1). Swagger docs are at `/api/docs`.
- What documentation is included?
- Basic documentation. Swagger / OpenAPI docs are built in at `/api/docs`, and a Postman collection is included in the repo. The codebase covers auth, locations, and routes modules with their endpoints documented.
- What level of maintenance should I expect?
- This is a final year project codebase with no ongoing maintenance. It is production-oriented and backward compatible with the existing frontend, but you own any updates or fixes needed after purchase.
Domains
Seller
Reviews
No reviews yet.