https://github.com/jjacobsonn/naviwasm
A real-time navigation system built with React, Mapbox, Python, FastAPI, and Rust with WebAssembly for high-performance pathfinding.
https://github.com/jjacobsonn/naviwasm
docker fastapi mapbox navigation pathfinding python react real-time rust webassembly
Last synced: 2 months ago
JSON representation
A real-time navigation system built with React, Mapbox, Python, FastAPI, and Rust with WebAssembly for high-performance pathfinding.
- Host: GitHub
- URL: https://github.com/jjacobsonn/naviwasm
- Owner: jjacobsonn
- Created: 2025-02-21T18:27:21.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-22T03:36:57.000Z (over 1 year ago)
- Last Synced: 2025-03-22T04:24:43.463Z (over 1 year ago)
- Topics: docker, fastapi, mapbox, navigation, pathfinding, python, react, real-time, rust, webassembly
- Language: TypeScript
- Homepage:
- Size: 563 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- Security: docs/SECURITY.md
Awesome Lists containing this project
README
# Real-Time Navigation System
This project includes:
- A React front-end with Mapbox.
- A FastAPI back-end.
- A Rust WebAssembly module for pathfinding.
- A Python CLI using click.
- Docker configuration for containerized deployment.
## Setup Instructions
1. Build the WASM module:
- Navigate to `/Users/cjacobson/git/NaviWasm/wasm`
- Run: `wasm-pack build`
2. Backend setup:
- Navigate to `/Users/cjacobson/git/NaviWasm/backend`
- Install dependencies: `pip install -r requirements.txt`
- Set environment variables in a `.env` file (see `.env.sample`).
3. Frontend setup:
- Navigate to `/Users/cjacobson/git/NaviWasm/frontend`
- Run: `npm install` then `npm run build` for production build.
- Serve the built files via a static server (or integrate with the backend).
4. Docker Compose:
- From the project root, run: `docker-compose up` to start all services.
## Testing and Linting
### Frontend Tests
1. Navigate to `/Users/cjacobson/git/NaviWasm/frontend`
2. Run tests via: `npm test`
### Linting
1. Ensure ESLint is installed: `npm install eslint --save-dev`
2. Run: `npx eslint .` from the frontend folder
## Further Enhancements
- Integrate comprehensive unit and integration tests.
- Enhance WASM module with actual pathfinding logic.
- Configure CI/CD for automated builds and deployments.