Skip to content

Theo-s-Meta-Capstone/IndoorMaps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

Indoor Maps

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
  1. About The Project
  2. Getting Started
  3. Built With
  4. Acknowledgments

About The Project

IndoorMaps is the easy way to create useful and accurate maps of any building.

Explainer Video:

Video Explaining Indoor Maps

(back to top)

Getting Started

Prerequisites

  • 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

Optional

  • 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
  • AWS account with SES set up

Installation

  1. Clone the repo
    git clone https://github.com/Theo-s-Meta-Capstone/IndoorMaps.git
    cd IndoorMaps/
  2. 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="***********"
  3. 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"
  4. 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
  5. Set up frontend
    cd IndoorMapsFrontend/
    npm ic
    npm run relay
    In another process
    cd IndoorMapsFrontend/
    npm run dev

(back to top)

Built With

Backend

Frontend

(back to top)

Acknowledgments

(back to top)

Releases

No releases published

Packages

No packages published

Languages