Skip to content

andreihar/nct

Repository files navigation

Logo

Night Crusade Titans

Contributors Licence LinkedIn

A superhero-themed app for reporting and managing public nuisances in the Lower Mainland

App to allow report of public nuisances. This Angular-based app features a robust set of functionalities, including a data table, report management, map display, and more.

Live Demo

demo_video.mp4

Table of Contents
  1. About The Project
  2. Install
  3. Features
  4. Lighthouse Report
  5. Contributors
  6. Acknowledgements
  7. Licence

About The Project

Night Crusade Titans is the final project created for the course in Client-side Development in the Fall semester of 2023. The theme of the course was learning front-end concepts, including frameworks, web services, and web architectures.

The application aims to streamline the process of reporting public disturbances, providing users with a user-friendly interface to submit and manage nuisance reports. By utilizing Angular for the front end and Firebase for database services, the app offers a comprehensive set of features for both users and administrators without making the architecture too complicated.

Night Crusade Titans stands out with its vibrant superhero theme. The aesthetic design of the website incorporates dark colors and an engaging user interface that captures the essence of superhero lore. This theme aims to make the reporting process more enjoyable and engaging for users, encouraging community involvement and making the task of reporting nuisances feel more like a collaborative effort in maintaining public safety.

Built With

  • Angular
  • Bootstrap
  • Firebase
  • Leaflet

Install

Run the app locally:

$ npm install
$ cp .env.example .env

Fill in the required values for the Firebase in the .env file.

$ node env-config.js
$ ng serve -o

The website can be accessed through the URL http://localhost:4200/.

Features

Home Page

The Home Page serves as the central hub for users to navigate through different aspects of the application. It includes a switch for toggling between the Map and Data List views.

Home Page

Map Display

A map displays all reported nuisances on an interactive map with markers. Users can interact with the markers to view the number of reports for each location.

Map View

Data List

A list presents a dynamic data table listing all nuisance reports. Users can sort the data by Time, Name, and Location. This provides a detailed and sortable overview of reported incidents.

List View

Report Management

Users can modify the report status or delete reports with a valid passcode ("BaggyJeans"). The app uses MD5 hash for password verification.

Report Details

Report Creation

Users can generate reports through a "CREATE NUISANCE REPORT" button, revealing a user-friendly report form.

Form

Lighthouse Report

Audit

Contributors

Acknowledgements

  • Hashify - used to generate an MD5 hash to verify password.

Licence

Because Night Crusade Titans is MIT-licensed, any developer can essentially do whatever they want with it as long as they include the original copyright and licence notice in any copies of the source code.