An open API service indexing awesome lists of open source software.

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.

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.