The easiest free way to create searchable and shareable maps of any building | School | University | Convention Center | Airport | Office
View Live
·
Report Bug
·
Request Feature
Table of Contents
IndoorMaps is the easy way to create useful and accurate maps of any building.
- npm
npm install npm@latest -g
- Node 18 (or newer - the deployment is Node 20 running on Bun)
- Using nvm
nvm install 18 run nvm use 18
- A Postgres Server
- The link to your postgres server will go into your backend .env file
- A Here API Key
- Get An API Key at HERE
- REDIS server
- Spin up a local dev server easily with
docker run -p 6379:6379 -it redis/redis-stack-server:latest
- Spin up a local dev server easily with
- AWS account with SES set up
- Not an easy process to aquire, not required for any other functionality
- If using a new AWS account
- Need to upload the email template IndoorMapsBackend/src/email/verificationTemplate.json to your aws account as VerifyIndoorMapsEmail.
- Need to change the source email and aws region to proper values for your account in IndoorMapsBackend/src/email/setup.ts
- Clone the repo
git clone https://github.com/Theo-s-Meta-Capstone/IndoorMaps.git cd IndoorMaps/
- Enter your backend env variables in
IndoorMapsBackend/.env
touch IndoorMapsBackend/.env
Then use your favorite editor to add these values
DATABASE_URL="<A POSTGRES DB>" FRONTEND_URL="http://localhost:5173" #################################### # Everything below this is optional# #################################### # HERE API Key HERE_API_KEY="<Get An API Key at https://developer.here.com/>" # REDIS cache REDIS_URI="redis://localhost:6379" # you can also connect with a password using (either use REDIS_URI or REDIS_PASSWORD & REDIS_PORT & REDIS_HOST) REDIS_PASSWORD='******' REDIS_PORT='6379' REDIS_HOST='localhost' # To send verification emails with AWS: AWS_ACCESS_KEY_ID="******" AWS_SECRET_ACCESS_KEY="***********"
- Enter your frontend env variables in
IndoorMapsFrontend/.env
touch IndoorMapsFrontend/.env
Then use your favorite editor to add these values
VITE_BACKEND_GRAPHQL_URL="http://localhost:4000/graphql" VITE_BACKEND_WEBSOCKET_URL="ws://localhost:4000/ws"
- Set up backend
cd IndoorMapsBackend/ // --force is needed due to an issue with ESLint (--force is the recommended solution) npm ci --force npx prisma migrate dev npm run dev
- Set up frontend
In another process
cd IndoorMapsFrontend/ npm ic npm run relay
cd IndoorMapsFrontend/ npm run dev