|
| 1 | +[](https://classroom.github.com/a/y-IGFidy) |
| 2 | + |
| 3 | +[](https://kristiania-kws2100-2024.github.io/kws2100-exam-kath0809/) |
| 4 | + |
| 5 | +# KWS2100 EXAM |
| 6 | + |
| 7 | +--- |
| 8 | + |
| 9 | +## Description |
| 10 | + |
| 11 | +FireHub (BrannHub) is a cutting-edge map application designed to provide vital information to the Norwegian population |
| 12 | +regarding |
| 13 | +the locations of nearby fire stations and emergency call-centers (alarmsentraler). With a focus on user-friendliness and |
| 14 | +accessibility, |
| 15 | +FireHub has a responsive design tailored for seamless interaction across various devices. While currently in its |
| 16 | +developmental phase, the provided code represents a robust prototype showcasing the application's potential. |
| 17 | + |
| 18 | +### Present Features |
| 19 | + |
| 20 | +- **Responsive Design:** FireHub is meticulously crafted to ensure optimal performance and usability across desktop and |
| 21 | + mobile platforms. |
| 22 | +- **Technological Foundation:** Built on React using TypeScript and JavaScript, FireHub leverages the power of the |
| 23 | + OpenLayers library and incorporates Stadia maps for its mapping functionalities. |
| 24 | +- **Location Awareness:** Users can effortlessly toggle between different map layers, revealing the comprehensive |
| 25 | + network of fire departments and stations spanning across Norway. Each location is intuitively marked with an icon for |
| 26 | + easy identification. Using an additional toggle layer, the user can view the area of responsibility for each fire |
| 27 | + department and call center. |
| 28 | +- **Emergency Call Centers:** In addition to fire station data, FireHub provides essential information on the locations |
| 29 | + of emergency switchboards and their corresponding service zones. |
| 30 | +- **Zone Drawing Capability:** FireHub also gives users the ability to draw and designate custom zones of interest |
| 31 | + directly on the map interface. |
| 32 | +- **Map Customization:** Offering a diverse selection of map styles, FireHub allows users to tailor their visual |
| 33 | + experience by choosing from four distinct map types, each meticulously crafted to suit individual preferences. |
| 34 | +- **Overview Map:** FireHub includes an overview map that provides a zoomed-out view of the main map. This feature helps |
| 35 | + users understand their current location in a broader context and navigate the map more effectively. The overview map's |
| 36 | + zoom level adjusts dynamically based on the main map's zoom level, ensuring a consistent and useful perspective. |
| 37 | +- **Fire Station Clustering:** FireHub implements a clustering feature for fire stations. When the map is zoomed out, |
| 38 | + nearby fire stations are grouped into clusters for a cleaner and more intuitive visual representation. The size of |
| 39 | + each cluster represents the number of fire stations within that cluster. As the user zooms in, clusters break down to |
| 40 | + reveal individual fire stations. |
| 41 | +- **API and Server Setup:** Equipped with a local server built using Express.js, FireHub's structure allows for |
| 42 | + potential |
| 43 | + integration of a database for dynamic data retrieval and manipulation. |
| 44 | + |
| 45 | +### Future Roadmap |
| 46 | + |
| 47 | +**Real-time Tracking & User Location:** Future iterations of FireHub will introduce advanced features such as |
| 48 | +real-time tracking of fire trucks responding to emergency calls. Users will gain insights into response times and |
| 49 | +vehicle locations, enhancing overall situational awareness. "How long does it take for the fire-truck to get to my |
| 50 | +location?" |
| 51 | + |
| 52 | +## Prerequisites |
| 53 | + |
| 54 | +## Installation |
| 55 | + |
| 56 | +To install the project, follow these steps: |
| 57 | + |
| 58 | + npm install |
| 59 | + npm run build |
| 60 | + npm run dev |
| 61 | + |
| 62 | +The server must be run on local port 3000. |
| 63 | + |
| 64 | +## Citation |
| 65 | + |
| 66 | +Various sources and inspiration used for this project: |
| 67 | + |
| 68 | +- [GeoNorge](https://www.geonorge.no/) |
| 69 | +- [Stadia Maps](https://stadiamaps.com/) |
| 70 | +- [Kartverket](https://kart.dsb.no/) |
| 71 | +- [Kartverket](https://www.kartverket.no/) |
| 72 | +- [OpenLayers](https://openlayers.org/) |
| 73 | +- Lectures and exercises from KWS2100 |
| 74 | +- Our own lecture notes and previous projects |
0 commit comments