Skip to content
Matthew Palkowski edited this page Dec 6, 2021 · 23 revisions

Introduction to the Voluntary Spam project

Welcome to the team Stepping On Legos, Voluntary Spam project wiki! This project was built by the Stepping on Legos team for the Advanced Software Engineering class, CS530, at Central Connecticut State University (CCSU). The intent of the project is such that it the project could be extended and/or tailored to specific use-cases by future teams of CCSU students. In the spirit of this goal a detailed wiki detailing the project design and configuration instructions has been provided here.

Project Design

Project Objectives

The objecting of the project is to create a framework that achieve the following ends:

  • A mobile application that can allows users to subscribe to one or more category tags and to receive information about events and receive notifications tagged with those categories

  • An interface that allows an event coordinator to create/maintain/delete events on a central calendar such as a google calendar and to send information about those events via push notification to the users' mobile devices. These events are tagged with one or more categories such that the information is only sent to users that have subscribed to those category tags.

Project Architecture

The project is composed of several separate software components, designed to be interoperable with one another. These components are as follows:

  • Mobile application
  • An Express server
  • A MongoDB database

In conjunction with the aforementioned components, the application relies on the following services:

  • Firebase cloud messaging
  • Firebase authentication
  • Google calendar

See below image for how these components and services are interconnected.

projectdesign

User Interfaces

The project utilizes two user interfaces on how the user will interact with the application.

The primary user interface is the mobile application, where regular users will be able to subscribe to different category tags, view calendar events tagged with categories they've subscribed to and receive notifications tagged with categories they've subscribed to.

More info on using the mobile application

The second user interface is the web-view. This interface is designed to be used by an administrator from a central authority that will be managing events and notifications. From this web-view, the administrator will be able to create, delete, edit events tied to a Google Calendar and can tag these events with categories to ensure that only interested users will see them in the user's instance of the mobile application. Additionally, the administrator can send messages to the user base the can be tagged in a similar manner to the events.

More info on using the web-view

Configuring the project

Details on how to configure a new instance of the project can be found at the following sources: