View on GitHub

Logo

About the Course

Computer Science 2212 - Introduction to Software Engineering is a course designed to examine the stages of the software engineering process, including requirements gathering, specification, design, implementation, and testing. Students of CS 2212 are required to work cooperatively in a team to design and implement a moderately large software system.

Our Project

Developed by Team 13

There is a disconnect between students and the events going on around them. Councils, clubs, and societies across campus have no standardized method to communicate with students. Students are left to figure out whats going on across campus on their own. From this insight came the inception of LIT, a service that aims to fill the gap and bring the events of all clubs and societies across campus directly to students, using a novel and intuitive user interface.

LIT is a heat map event tracker that displays current and future events. Each event will be defined by an area on the map with geo-fencing using Google Maps API. A user who enters the defined area will add to the event counter - which displays how many users are within that event’s area. The density of people will be visually displayed through color. For example: events of low, medium, and high user density will be filled in with yellow, orange, and red colours respectively. By clicking or tapping on the event area, a user can see more information about that specific event. A time slider will allow the user to view events on the map at later points in time.

ANDRE ZEKIC

Andre is a fourth year student at Western University pursuing a double major in Chemistry and Computer Science. He is often seen speeding across campus on his electric longboard or drinking concerning amounts of Soylent. He works as a graphic designer at the USC and is on the Science Student's Council as Computer Science Representative. Proficient in Adobe Photoshop, Illustrator, Python, Java, and C. Hobbies include cycling, YouTube, and existential debates.

Role: Project Lead, UI Lead

azekic@uwo.ca

ANIRUDHA NANDI

Nandi is a second year computer science student at Western University. He is from Milton, Ontario but was originally born in India. He plans on attending the Richard Ivey School of Business next year to double major in Computer Science and Business Administration. Nandi has been coding since he was 11 and can code in C, C#, C++, Java, and Python. He also works at RezNet, the Internet Service Provider at Western University. Hobbies include: soccer, gaming, penetration testing on Linux, and coding.

Role: Back End Developer

anandi@uwo.ca

MITCH MANCUSO

Mitch is a fourth year computer science student at the University of Western Ontario. Over the years he has maintained a portfolio of design and operational projects utilizing knowledge in Swift, Filemaker, Oracle, HTML, CSS, PHP and SQL. Hobbies include: spending way too much time on the internet, and losing track of time.

Role: Framework Lead

mmancus4@uwo.ca

YUHAN LI

Yuhan is a third year student double major in Financial Modeling and Computer Science at Western University. Throughout studies, he is proficient in Java, Python, Matlab,C,SQL, mongoDB, Excel(VBA). Yuhan has a wide range of interests. He created the Western Magic Community to become the largest magician club in London, ON. Hobbies includes: photoshooting, boxing and video editing.

Role: Back End Developer

Personal Web
Linkedin
yli2422@uwo.ca

MAKSYM KOVAL

Maksym is a second year student at western pursuing ] a dual-degree in Computer Science and Business Administration. He has always had an interest in merging business and computing. Initially involved in a student start-up as Vice President of Information Technology, he expanded his skills further upon entering university. Now as a Director of Technology at the Western Forex Association, he dedicates himself to site management and graphic design, while keeping a part time position at PPL as a Recreation Coordinator.

Role: Back End Developer

mmancus4@uwo.ca

YIJUN HE

Yijun is a second year computer science student at Western University who plans on doing Specilization in Computer Science. He is from China, and he likes music and graphic design. He started learning code last year and he can code in Java, C, Python, and HTML/CSS/Javascript.

Role: Front End Developer

yhe362@uwo.ca

WEIJA ZHOU

Weija Zhou is a second year student at Western pursuing a Computer Science degree. He has always been interested in computers and electronics. He took an interest in computer science in high school. Throughout his life, he has gained skills in the mystical languages of python, java, C, C++, html, css, and javascript. He is excited about designing new projects and is committed to learning and being awesome. His official role on the team is being the "create" page developer.

Role: Back End Developer

wzhou94@uwo.ca

GARREN MCCALLUM

Garren is an avid technology enthusiast with an interest in anything computer or gaming related, with cars being a side hobby. He is particularly interested in the Android platform and enjoy making system modifications and changing Android versions on his mobile device. Garren is currently taking a Major in Computer Science and a Minor in Mathematics. He has experience in the Python, Java and C programming languages from past courses.

Role: Back End Developer

gmccall5@uwo.ca

SPENCER ROEBOTHAM

Spencer is a third year computer science student at the University of Western Ontario. He has experience programming in Java, C, C++, Unix shell, ARM assembly, JavaScript, Ruby, HTML, and CSS. He is currently the VP Sponsorship of Western Cyber Security, a student-run organization at Western for those interested in ethical hacking and information security.

Role: Back End Lead

sroeboth@uwo.ca

Design Philosophy

UI design seems to have reached a state of homogeneity; with flat, brightly coloured, minimal interfaces accounting for many modern applications. Though our team sees the benefits of having simple design elements in a user interface, we aim to stand out with a dark colour scheme while still retaining the well established minimal aesthetic. This choice is not only easier on the eyes, but also provides increased contrast when looking at events with our heat map interface.


Login

The user is introduced to a simple Login page, which allows a user to sign up, sign up with Facebook, or log into the application.


The Sign Up page requests that a user fills in the necessary info to generate an account if they decide to make a local account. Using Facebook's authentication API, a user can alternatively have their info filled in automatically with their Facebook profile.


Discover

The Discover tab allows a user to find and interact with events. The page defaults to a map of Western's campus, where all current events can be seen at a glance. By clicking on any event on the map, the user is presented with information about the event including the location, time, number of attendees, and which friends of theirs are attending the event. They are also given the option to RSVP the event, which will add the event to the user's Attending Events. A filter at the bottom allows the user to specify the events he would like to see on the map, and a search bar allows for further filtering. A Time Slider at the top allows a user to browse upcoming events on the map by cycling through future dates.


Create

The Create tab allows a user to create and edit an event. First the user is prompted to identify the vertices of the event on the map to generate a designated perimeter for the event. The user must then add a title, photo, description, event type, time, and floor number to their event. If the event is repeating they can choose to add additional days to the event. The user can also delete the event if they choose to change their mind.


Additional Options

The Active Events option lets a user browse current events in a timeline format and sort them by proximity, popularity, and date.


The Attending Events option lets a user view and modify the events they have chosen to attend.


The Settings option allows a user to modify their account, manage their events, and provides access to help resources.


UML Diagram


UML Diagram created using draw.io

Features

Authentication System

Users will have the option to create an account through traditional email and password or using Facebook Login API.
Feasibility: Simple
Dependency: Relies on Facebook API for registration, local database to store account info.

Event Creation

Users can create an edit their own events, which will be stored in a local database. Basic event information like the name, description and floor level will be inputted by the user. An integrated calendar UI will allow the user to select a date and time, and the option to add photos will be included.
To define the event’s area, the user will input the vertices of the event on the map, and a perimeter will be generated from these vertices.
Feasibility: Relatively complex. Calendar UI will need to span multiple years to be fully functional. Creating the event perimeter will require integration with Google Maps API.
Dependency: Requires a functioning event database and successful use of Google Maps API.

Map-Based Event Browsing

The user is shown a map of Western's campus, where all current events can be seen at a glance. By clicking on any event on the map, the user is presented with information about the event including the location, time, number of attendees, and which friends of theirs are attending the event. They are also given the option to RSVP the event, which will add the event to the user's Attending Events. A filter allows the user to specify the events they would like to see on the map, and a search bar allows for further filtering. A Time Slider at the top allows a user to browse upcoming events on the map by cycling through future dates.
Feasibility: Medium complexity. Requires an intuitive UI to navigate events. Most data is being pulled from the event database, so no need for complex algorithms.
Dependency: Dependent on a functioning event database to pull information from each event.

Heat Map

A map interface will display all active and future events over a map of Western’s Campus. Each event’s area will be coloured in depending on the density of users in the area using simulated data points.
Feasibility: Medium complexity. Vertices of the event will need to be converted to longitude / latitude points on the map to allow for overlaying. Event colour will be provided using predefined colour values for a given number of people and pulled from the event database.
Dependency: Requires successful use of Google Maps API to place event areas on the map.

Active Events

A user will be able to browse current events in a timeline format and sort them by proximity, popularity, and date.
Feasibility: Relatively complex. Using simulated data, we will have to calculate the distance from our user to the nearest edge of each event and sort the database of active events by proximity. Popularity and date can be sorted by already provided data. Dependency: Requires successful use of Google Maps API to calculate the distance between two points.

Additional Features

Attending Events

A user can view the events they have chosen to attend, and has the option to delete them from the list.

User Settings

A user can modify their account (delete, change name and photo), manage their events (delete, change information), and has access to help resources (written guide to application).