Group 1 Presentation

Project overview

Vision statement

The Personal Healthcare App will provide users with convenient diagnoses about the probable causes of their symptoms. Depending on the users’ medical reports and location, it will suggest a list of suitable doctors. The application will also provide doctors with a platform where they will be able to communicate with the users directly through the application to give their diagnoses and set up appointments. In detail, the users will be able to talk to doctors on the suggested list to request further information as well as make an appointment with doctors directly through the application.

Description

Users will be able to create an account and input their personal details such as their age, gender, and weight. Users will also be able to add multiple profiles for family members and easily switch between the profiles so that they can get accurate results based on their own personal details. They will be able to easily select which of their body parts are affected and what symptoms they are experiencing. The app will then provide a list of conditions that may be causing their symptoms. Alongside this, the app will provide a list of doctors in the user’s area that they may contact. Doctors will create their own accounts for contacting potential patients and their contact information will be displayed. The app will create a short user report to help the doctor understand the situation more thoroughly. After they have received their results, users will be presented with an option to select whether the results were helpful. The data from this quick survey will help us improve the app and the results it delivers.

Overview

With the help of Personal Healthcare App, people will be able to get an instant medical support in case of a sudden symptom or sign of any problem or disease. Also, this app can help people by saving their medical profile and history in case they want to go to a doctor in case of an emergency.

Team Members

- Adam Kroeker - I learned about all the different tools related to software development such as git and and working with group people.
- Asit Patel - Learned how to work with people and using gitlab.
- Kien Mai - I learned about procedure for software development in setting of a team and different tools for software development like git, gitlab etc.
- Vedant Pulahru - Undertood the concept of using persistence layer and how to work with group members and using git.
- Sangil Han (Dropped the course)

Sales Pitch

Health is a very important aspect of our life. Without good health, working for your goals and dreams would be challenging, and with the current situation of our world, where new diseases are emerging along with increasing amounts of pollution, we need something to keep track of our health. Presenting Personal HealthCare app to you!! It will help a people keep track of their own and their families health by creating profiles for them and keeping track of their medical history.

Video

Postmortem

What was the overall architecture of your system (particularly if it is different from the demo system)?

The architecture we used is MVC and this is the same we had before.

What went right in the development process?

Understanding our team members strengths and weaknesses and according to that, we were able to allot work to everyone and tried our best for each iteration.

What went wrong in the development process?

Git:
1)Commits
2)Merge conflicts
3)Branching strategy,
Project management.

What would you do differently, if you had the chance to start over?

In the beginning, everyone was working on one task and once we completed that, we moved to another. So, we should have had distributed task to each other! (which we did from iteration 2). And start earlier with our project because we did eveything in the last 3 days for each iteration. THE ENTIRE APP!!!!!!!!!!!!!!!!!!

How large is the project (number of methods, classes, etc)? How much of this is (roughly) devoted to each major system component? And any other quantifiables (e.g. if you have a record of hours spent on tasks).

We have a main activity file, 14 business files, 13 object files, 5 persistence files, 8 database files and 11 presentation files. for object creation, the cost was not more than 2 days because we created objects as we were moving forward with our project but business, persistence and database files took longer than expected(total cost>40 days to complete everything) as everyone had different schedule.

What took the most time? The least? Any surprises?

Database took the most of our time because of our lack of knowledge in the beginning about sql correction and hsql. object creation took the least amount of time. A surprise was, our group was somehow able to work with each other from the first day and had no issues with each other.

Are there any particular design smells, or brilliant design decisions?

We used the search activity for displaying both the list of symptoms as well as the list of conditions, instead of creating two separate activities. This is good because it reduces code duplication, but it may violate the single responsibility principle.

Are there any outstanding bugs?

Highlighting multiple symptoms didn't work properly. Highlighting multiple listview menu was difficult and somehow not working properly.

Did any features work better than expected?

Create account feature (courtesy of Kien Mai! Give him extra marks)

Are you using any technologies other than what was required (e.g. JMock, GUI builders, etc.)?

No we didn't use any other techologies

Are you using any specific techniques covered in the course (TDD, pair programming, scrums, etc)?

We used Pair programming and TDD for some of the clases

How did the project change from your initial (iteration 0) vision or stories, or did it work out as predicted?

In the beginning, we thought of making a personal assistence like an AI which will help the user to find stuff about there symptom but we could'nt add that to our app

What did you learn about team or large project development? What will you start doing, keep doing, or stop doing next time?

Interaction is the key when we are working with a group like this! Not everyone is same and everybody has a different skill set and we should assign work according to that to get the best result possible. Even with our group, we understood that and worked with everyone.

Can you draw any conclusions from what you’ve done?

We made the app. We did some work, the app got built. Learned to work with people and using Git.

Show your velocity chart for all 3 iterations, with a 1 paragraph description of why it looks the way it does.

We know about estimating better now than we did in the beginning. Since we know how fast we can work and how much work a task would actually take. So for the features of editing profiles, we could assume it takes about 4 hours to make and we took like 5 hours. Though, it is more than what we expected, our estimation was pretty close.