Skip to content

Latest commit

 

History

History
26 lines (13 loc) · 5.52 KB

Project_Proposal.md

File metadata and controls

26 lines (13 loc) · 5.52 KB

Safe Place For Youth Database Project Proposal

Description

Safe Place for Youth is a 501(c)3 nonprofit seeking to automate their intake process for the youth experiencing homelessness whom they serve. Currently, their staff must make the best of working with hard-copy forms and excel spreadsheets, manually recording and extracting client information and participation data each month to publish reports for donors and track the performance of their services. For this project, SPY is asking our development team to create a database-driven web application from scratch. They are looking for functionality that will make it easy for them to manage information for the youth via profiles as well as display and publish reports on their metrics to use for marketing and fundraising.

Some of the most important features of the system will be the abilities to search, access, and enter information and documents about each individual youth via profiles. The system will allow case managers to track enrollment in programs, ongoing participation in those same programs, record and access case notes, and record specific dates and times for participation and services.

The SPY staff and interns (and possibly volunteers) are the end users for this application. The “final product” should thus be as human friendly as possible, making it easy for new staff or interns to use it efficiently from their first day on the job. There are also certain features that will be used much more frequently than others, such as the features on the Frontdesk page, which require high speed performance and real-time updating to keep up with the circumstances in which they will be used.

In terms of platforms, SPY staff already use Mac laptops, and desktop PCs are also widely available to staff, interns, volunteers, and the youth. They will have access to the application from anywhere they have an internet connection with web browser software. So far, the app will be hosted on AWS servers and managed via Heroku, a platform as a service (PaaS), that will allow the development team to run and deploy the app from the cloud.

The development team plans to keep the software open-source to make it easier for any developer to contribute to the project. Throughout the development of this project, we will create test code and documentation for individual components as well as the entire system, allowing for future developers to easily understand, test, and build on the product. Once the minimum viable product is delivered, we plan to continue working with SPY to resolve any issues that arise and implement additional features as requested. Additionally, we will create training manuals and tutorial videos making it easier for new users to quickly learn how to use the software. Eventually, we plan to leave the system with enough documentation, stability, and flexibility such that the organization can maintain and build upon the product as they see fit.

Justification

This project will apply and extend knowledge acquired in the LMU Computer Science curriculum. Skills acquired in the following classes will be utilized over the course of the semester: Interaction Design, Databases, Data Structures & Algorithms, Statistics, and Programming Languages. By building a visually appealing and easily communicative front end, we are applying our understanding of user interface design from Interaction Design. Safe Place for Youth is providing us with a disorganized database, which we must clean and synchronize our system with using our Databases and Data Structures & Algorithms knowledge. To build key performance indicators for each of the organization’s programs, we will use statistics. Lastly, all along the way we will be coding in both familiar and unfamiliar languages to test our skills acquired from Programming Languages.

This project will give us the chance to experience what it is like to work with a real-world deadline, with real clients that are expecting a product. We also will have the rest of the semester following the deadline to create additional features.

To facilitate the development of the project, we divided our team into three sub-teams: front-end, back-end and database. Each sub-team is responsible for researching and maintaining their corresponding portion. However, to facilitate full-stack development experience, each member of the SPY development team will be assigned a feature of the app (viewing client profiles, editing client info, enrollment,...etc.) and will be responsible for implementing the entire "stack" for that feature end-to-end (interface, routes, and database schema).

The project will have significant impact on the productivity of the organization. As such, it will directly affect the lives of the staff and volunteers as well as the participating youth themselves. This assignment also allows us to utilize skills and experience we have accumulated during our time as students to construct a product with real world applications.According to the SPY staff, the system, and the metrics it will provide, will be directly linked to the amount of money they can acquire from donors. The chance to direct our studies towards making a noticeable difference in the lives of others is an exciting challenge and opportunity.

This project will also introduce many challenges. Specifically in terms of communication, knowledge acquisition and integration. We will need to be constantly updating our separate teams so we are in sync in terms of integrations. We will also be learning a couple new languages and frameworks in order to build the front-end and maintain the database.