Individual Pursuits

April 2022
Please note all names and identifying information in application screenshots are generated names not linking to actual individuals.
Problem Background and Project Description

Individual Pursuits is a community social services organization specializing in both residential supports and community inclusion programs for persons with a developmental disability. For goal tracking, they use a paper-based system that is difficult to maintain and track. The goal of this project is to create a web application that will allow staff to track goals and progress for each individual.

The web application will allow staff to create goals for each client and track their progress based on their goals. The application had to meet FOIPPA security requirements as this application will be storing personal information. The application will have role based access control to ensure that only specific staff can access pertinent information


Elicitation Phase

I initially met with business stakeholders to gather requirements and create a project plan over a year before development began. As the scope of the project was broad I drafted a Requirements Specification Document that was chipped away at in weekly meetings. These meetings consisted of myself and two business stakeholders. The document carefully outlined the different user roles and permissions, use cases and user stories, basic wireframes, and ER diagrams. The document was updated as the project progressed and was expected to be used as a reference for the development team.


Development Phase

The development team was comprised of myself, along with another student from my program I had worked with previously on school projects and had a valuable skillset for the project. I split the development tasks into four sprints, each lasting two weeks. There was also weekly meetings with stakeholders, and daily standups with the developers to ensure that the project was on track. The initial prototype was completed within the expected timeframe. The project was then deployed locally on the company network, where it was tested by the business stakeholders.

  • Next.js

    Frontend Framework

  • DigitalOcean

    Cloud Hosting

  • Material UI

    React Component Library

  • Express.js

    Backend Framework built with TypeScript

  • Prisma

    Object-relational mapping tool for TypeScript

  • PostgreSQL

    Relational Database

The frontend was built using Next.js, a React framework with built-in routing and server-side rendering capabilities, along with Vercel's simple and cost effective deployment features. Material UI was used as the component library for the frontend for its ease of use and familiar design for end users.

The backend was built using Express.js, a Node.js framework with TypeScript utilizing REST. The application uses an in-house authentication system harnessing JWT (JSON Web Tokens) for secure authentication. The system supports role-based access control to ensure that only authorized staff can access pertinent information, and includes API access management that can be created and configured through the UI.

The database was built using PostgreSQL, a relational database. Prisma was used as an ORM to simplify database interactions and to ensure that the database schema was consistent with the application schema.


Project Status

The application is now deployed on DigitalOcean and is being used regularly by several group homes. The system has successfully replaced the paper-based goal tracking system and provides staff with an efficient way to track goals and progress for each individual.