California Active Shooter Preparedness Training

Creative Application Team (CAT)




Senior Project 1 - CSC 190

Semester 1

Team Name:

CAT (Creative Team Application)

Team Members:

Casey Whitsell, David Rodriguez, Jaspreet Singh, Jean Lemuel Santos, Ronny Ritprasert, Ryan Le, Samantha Mahler

Client:

Lindon Lilly

Organization:

California Active Shooter Preparedness Training

Adviser:

Prof. Jingwei Yang


Background

California Active Shooter Preparedness Training founded by Mr. Lindon Lilly provides training tools in areas such as active shooter response, prevention of workplace violence and sexual harassment, and human trafficking awareness. The purpose of this project is to create state-of-the-art workplace violence prevention virtual training software for employers to offer their employees and create a safe work environment.

Scope

The client needs a web application that can be accessed all over California online to help train different organizations with custom education modules. The project developed will help the product owner create an educational curriculum for different business partners and clients to be prepared for various workplace violence scenarios and possibilities.

The project goal is to develop a web application that trains client's and business partner's employees on safety concern beyond active shooter preparedness to prevent problems in the workplace and create compliance with CAL/OSHA.

Proposed Solution

The team will create a web based application that allows users to complete the training modules. The administrator will have the privilege to manage the content and track users' progress.

Highlights

The project will help improve workplace/school safety regarding workplace violence, bullying and harrasment.

Our project will provide the client a customized web application and user friendly interface to users' and the adminstrator. It will have video based training modules to keep the users engaged.




Lo-Fidelity Prototypes

https://xd.adobe.com/view/ba65c54b-8dd4-449d-aab6-93beec57c11f-ef36/

Hi-Fidelity Prototypes

https://xd.adobe.com/view/d725abd1-39a5-4c81-a9b3-759f3d90463f-8276/


Project Prototype UI Hi-Fidelity



Client's website

californiaactiveshootertraining.com

Our 1st presentation:






The Web Application Project

Web Application: www.teamcatapp.me

Official Client Web Application: www.assessmentandcareteam.org



Senior Project 2 - CSC 191

Semester 2

Semester Starts

Implementing our project this semester would take a lot of work. We would have to learn how to use the MERN stack. This is a web friendly javascript open source based technology stack. The stack provides a framework for end to end development. We chose this because it's a proven way of building web applications from front-end to back-end.

MERN is an acronym that stands for MongoDB, Expressjs, Reactjs, and Nodejs. MongoDb is a NoSQL document based database that uses JSON type objects for storing schema-less data. Express is a server-side framework for Node applications that can help build APIs for accessing endpoints. React is a front-end library that is used to build stateful components for creating user interfaces. Nodejs is a cross platform runtime enviroment that allows you to execute javascript outside of a browser on and create scalable network applications. This web technology stack was used to build an end to end 3-tier system based on the client-server model.

Agile Scrum

In our software development process we used the Agile project management methodology to help facilitate our completion of the web application. Using this iterative life cycle we mades several changes to both the software functionality and user interface. This was done in accordance to our client Mr. Lindon Lilly. At the end of each sprint during the client meetings we were able to discuss and create new changes.

Mr. Lindon no longer needed a content creation interface and was going to offer this course to organizations for free. This means the ecommerce component would be taken out and the Stripe API would not charge customers for using the applicaiton and taking the course. The web application will focus on training for schools with curriculum k - 12. The content was also changed with several iterations upon demonstration of how it would look to prospective customers. Overall the Agile methodology helped create a web application that was right on target with the clients expectations.

Cloud Deployment

Customers should be able to access the client's web application from anywhere. Per software specification requirements the web application was to be deployed on the cloud. We chose an economical solution to cloud computing where the client wouldn't need to be computer tech savvy or be I.T. trained to be able to maintain the web application. After doing our due diligence we chose Digital Ocean due to its easy of use, cost effectiveness, and Virtual Private Servers.

deployment_diagram

Conclusion

At the conclusion of the semester the project was finished along with the user and maintenance manuals. Our client was given the code base and instructions on how to run and maintain the web application. This was a learning experience and helpful. Our group learned and implemented the Agile methodology which increased our productivity and client satisfaction. We learned how to implement the MERN stack and the technologies it uses. We learned that everyones role in a project counts and everyone can use help. Time constraints, lack of knowledge, workload, life balance, and learning curves can hinder progress but with a strong team these obstacles can be overcome.

Below is our second and final presentation.


Official Client Web Application

assessmentandcareteam.org

Our 2nd presentation: