Skip to content

Commit 5f926c9

Browse files
committed
Share project to Git
0 parents  commit 5f926c9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+164818
-0
lines changed

Diff for: .github/workflows/publish.yaml

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
on:
2+
push:
3+
branches:
4+
- main
5+
6+
jobs:
7+
publish:
8+
runs-on: ubuntu-latest
9+
10+
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
11+
permissions:
12+
id-token: write # to verify the deployment originates from an appropriate
13+
pages: write # to deploy to Pages
14+
contents: read # to checkout private repositories
15+
environment:
16+
name: github-pages
17+
url: ${{ steps.deployment.outputs.page_url }}
18+
steps:
19+
- uses: actions/checkout@v4
20+
- uses: actions/setup-node@v4
21+
with:
22+
node-version: 20.x
23+
cache: "npm"
24+
- run: npm ci
25+
- run: npm run build
26+
- uses: actions/upload-pages-artifact@v3
27+
with:
28+
path: ./dist
29+
- uses: actions/deploy-pages@v4
30+
id: deployment

Diff for: .gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/node_modules/
2+
/.idea/
3+
/dist/

Diff for: .husky/pre-commit

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
npm test

Diff for: .prettierignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/public/

Diff for: KWS2100 Exam 2024.pdf

4.28 MB
Binary file not shown.

Diff for: README.md

+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
[![Review Assignment Due Date](https://classroom.github.com/assets/deadline-readme-button-24ddc0f5d75046c5622901739e7c5dd533143b0c8e959d652212380cedb1ea36.svg)](https://classroom.github.com/a/y-IGFidy)
2+
3+
[![GitHub Pages](https://img.shields.io/badge/Exam%20Map-Deployed-blue)](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

Diff for: index.html

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<html lang="en">
2+
<head>
3+
<meta charset="UTF-8" />
4+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
5+
<title>FireHub</title>
6+
</head>
7+
<body>
8+
<div id="root"></div>
9+
<script src="src/main.tsx" type="module" async></script>
10+
</body>
11+
</html>

0 commit comments

Comments
 (0)