Skip to content

A MapboxGL-JS driven front-end application meant to provide a visual means of interacting with SUNY Oswego's inventory system. "Inventory" in this case can be anything from a smoke detector to a building itself. Currently, the assets are presented in parent-child relationship with the building's serving as a prent to the smaller assets. Currentl…

Notifications You must be signed in to change notification settings

NULLWulf/Oswego-Map-Interface-Data-Server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Currently, a test deployment is running on a Heroku Dyno. A work-flow is set up to keep the dyno awake.

❓ Description ❓

A MapboxGL-JS driven front-end application meant to provide a visual means of interacting with SUNY Oswego's inventory system. "Inventory" in this case can be anything from a smoke detector to a building itself. Currently, the assets are presented in parent-child relationship with the building's serving as a prent to the smaller assets. The web application is powered by a Spring Boot web server API for serving web content as well as data from a SQL based database.

☑️ Current Features ☑️

  • Essential map controls (zoom, rotate, pitch, etc.), Satellite/Stylistic toggle
  • Map meta-data updates on mouse movement, touchscreen interaction
  • Campus region quick navigation drop-down
  • Building Data Context Box
    • Populates upon interaction
    • Populates list of assets belonging to buildings
    • Map centers on building upon click
    • Shows image in heading if image available
  • Asset Data Context Box
    • Populates upon selection via asset dropdown in building context box
    • Refocus parent building (say if map moves out of view)
  • Data Storage
    • Sample data of assets and buildings currently stored in H2 in-memory database
    • Building data also stored in MapBox tileset (GeoJSON)

🔜 Proposed Features 🔜

  • Optimize for mobile devices
  • Search functionality for finding assets
  • Connectivity with production sized SQL database
    • Use H2 only for testing
  • More useful data layers such as:
    • Specific equipment locations
    • Malfunctioning equipment
    • Live data of equipment metrics
  • Direct integration with AIM Assetworks via API
  • Energy Usage Map (likely its own project)

❗ Known Issues ❗

  • Requires more datasets as well as variety of data to experiment with additional data layers
  • Requires a styling overhaul
  • Limited asset data available currently
    • When larger data sets are available will require more efficient means of sorting, filtering, paging etc.
  • Limited exception handling for both front and back-end

🛠️ Languages, Tools, Tech 🛠️

🖥️ Tech Stack 🖥️

Apache  CSS  Chrome  Git  GitHub  Heroku  Java  JavaScript  Jet Brain  HTML  Maven  MapBox  MySql  NPM  Spring  VSCode 

🌱 Environment 🌱

For a full list of dependencies visit the Dependency Graph.

🤝 Contributing 🤝

There are numerous ways for this project to be improved upon. We feel one of the best ways to see this project fleshed out and actualized over time is to open it up to open-source contributing in addition to whomever may be working on it on an official basis. Contributions can come from anyone whether they be hobby programmers, staff and or other students at the SUNY Oswego Campus or elsewhere. It's also possible to potentially refactor this project to suit your own campus's needs.

🆘 Ways To Help 🆘

  • Conversion of front-end to a well known front-end framework (React, Angular, etc.)
    • Recommend reaching out to repo owner before experimenting and implementing such changes
  • Improvements to anything listed in Current Features
  • Addition of anything listed in Proposed Features
  • Addressing anything listed in Known Issues
  • Modification or Alternative Mapbox Styles

🪜 Steps to Contribute 🪜

  1. Fork the Main Repository
  2. Commit and push any changes to forked repository
  3. Create a pull request describing changes, additions, etc. made to project
  4. Wait for repo owner review and acceptance of contribution
    • First time contributors will likely have contribution examined in depth before acceptance
  5. If Accepted, repo owner will merge in main repository
  6. Update forked repository accordingly

⚖️ Contribution Guidelines ⚖️

  • The content of contributions must comply with the SUNY Oswego Code of Conduct
  • Other SUNY Oswego policies as applicable
  • Must add some sort of measurable value to the project
  • May not contain any sort of intentionally malfunction causing or malicious code
  • May not be re-used for commercial use

🎗️ Credits 🎗️

✍️ Project Originator Nathaniel Wolf

Last Updated: 5/27/2022

About

A MapboxGL-JS driven front-end application meant to provide a visual means of interacting with SUNY Oswego's inventory system. "Inventory" in this case can be anything from a smoke detector to a building itself. Currently, the assets are presented in parent-child relationship with the building's serving as a prent to the smaller assets. Currentl…

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 46.6%
  • Java 34.8%
  • HTML 10.6%
  • CSS 7.7%
  • Procfile 0.3%