If you ever needed an appointment for a medical specialist, or simply live in a village where there aren’t enough doctors, you probably experienced some difficulties with finding a date in the near future. And often, once the day of your appointment finally arrives, you must stay in the waiting area for minutes or even hours, wasting your time. How great would it be to know exactly when the doctor would have time for you?
To make this possible and consequently ease the strain on patients as well as assistants, we, a team of four beginner web developers and one beginner data scientist, decided to find an adequate solution to this problem in form of a web application with the focus on managing appointments better and saving time. With DocStation patients should be able to have an overview of all their appointments, be reminded when they are taking place and, especially, allow exact information about if and how long the appointment will be delayed. On the other side, employees of the doctor’s office should be able to get a good overview of the appointments, create and especially update them if delays were likely.
DocStation would allow patients to save time with this while the office’s process flow is improved and the waiting area is not as crowded, which, as a positive effect, makes the job of the doctor’s assistants less stressful. Meanwhile, the app offers the patients valuable health tips which they can implement in their lives within the time they have saved waiting.
Developing our scope
In the beginning of the project phase we developed ideas together by brain storming, following the Design-Thinking method. We focused on the users of the application, the patients and the doctor’s assistants. How and which value especially could DocStation add to their lives? By creating screens we visualized the ideas, structured them and optimized them until we had a user oriented prototype that could be implemented by us as beginners in web development. For the further developing process we decided to use the SCRUM method, which we were all aware of through prior experiences. With that, we would be able to react to sudden problems fast and efficiently.
We defined the responsibilities and roles of the different team members and formulated goals. Hellen, as an expert of the processes within a doctor’s office, while succeeding in the data science track instead of web development was a perfect fit as our designated project manager. Richard and Julia were responsible for the aesthetic as front-end developers and Hinnerk and Katja would be responsible for the backend of the application.
The goals were created with the help of our mentor. We wanted our application to include:
An overview of all the appointments for the doctor’s office
And interactive calendar in which the doctor’s assistants could add appointments, update appointments and delete appointments and where time delays could be integrated
An overview for the patients with all their appointments
The appointments should be able to synchronize between doctor’s office and patient
The app should be available online
We visualized those goals using a Trello board, where the different work stages can be defined and responsibilities can be added. This is based on the KANBAN method and enables all team members to transparently see which steps are next and for which they are responsible. This was especially helpful, since we were not able to meet up in person that often, since we live further apart from one another.
We created an application in which users can log in via Google, patients and doctor’s offices alike. After logging in, patients get an overview of their own appointments in form of a calendar as well as tips for their health. The calendar allows user to switch to different views, monthly, weekly, daily or the agenda of the following appointments.
Offices get an overview of all the appointments that they have, in form of a calendar as well, and about the next appointments. They can create and delete them within the overview, on click. One appointment has four attributes: title, patient and the starting and ending time of it. The appointments are stored in a firebase real-time database connected to the users which created them. Firebase did a great job offering a dashboard for the developers to navigate through the Database and Authentication section of the application. It also visualizes the structure of the database. Every entry as well as every change to the database can be viewed by the project team in real-time. Another thing that was a main goal for us was that we wanted to deploy the application because we wanted to show everyone what we have built. This was also easily done with Firebase. Furthermore, every good startup needs an awesome landing page. Luckily, we also thought about this and Julia from the front-end team made this part possible. Now we could show potential customers what the app is about and what you could do with it.
But, as mentioned above, we overestimated a little what we could achieve within the time frame. For example, the differentiation within the database of users and doctor’s offices was something that we did not implement within the time frame, as well as the opportunity for offices to update
appointments and, therefore, also not the possibility to have the delay of the appointment depicted. We are nonetheless very proud of what we achieved up to this point and will likely continue working on the project when the TechLabs semester is finished.
The project was the last step of our TechLabs experience. Most of the members of our team had, prior to being enrolled with TechLabs, some limited form of programming experience, mostly through their studies. A bigger programming project like the one we had anticipated with DocStation, however, was new to all of us. Having a mentor who helped us to define realistic goals in the beginning, was very helpful, but we still overestimated what we were able to do within the semester. We also underestimated how hard it was to work on the project besides writing exams for the university, but we managed to help each other and always tried to do our best.
While doing the online courses could be easily integrated within the weeks, our usual studies and jobs also kept us busy, and since the members of our team live further apart from one another, it was not that easy to meet up in person. However, we were able to communicate via slack and to have online meet-ups ever so often, and the hacking days also helped a lot to get to know one another. Even though the online courses really help in getting a basic understanding of developing web applications and websites, using our new skills was not as easy in practice. Programming is something that requires practice to become good at, and we realized that at the beginning already. It is not easy to find a point to start, when there is a lot that you want to implement. Furthermore, after every few successful steps, something happens, or you need a functionality that you never encountered before as a beginner. That’s why we required grand online search abilities and had to learn how to use the found solution within our own code, which is barely ever easy. Frustration built up within our team many times, but that just makes the feeling of success greater when something finally works.
Another point we learned was that you could do a lot more together in a team. Every time someone did not knew something there was someone who could help you out. We additionally got good feedback and some useful tips during the two „Hacking-Days“, that TechLabs hosted, from our mentor and other TechLabs members. But if you work as a team there is often also a downside to it, since organizing a group is more complicated than organizing oneself. A leader is needed, someone who has an overview of the topic and prepares everything well. This role was perfectly suited for Hellen, who lead the developer team as the product owner, and thought about how the app could look like and helped the developers to evaluate their tasks.
The last thing we encountered was, that it is really important to do good work on the front-end and also the back-end. Some people of our team were indecisive at the beginning, and the question of what is more important or more interesting in web development was one we had to ask ourselves before deciding which track to take. But in the end, the front-end team made the application look good and defined the design, and the back-end team kept working with the database and the user login. Hinnerk and Katja did an extraordinary job in adding functionality to the application even though they were struggling to implement changes to the App. React is a great and flexible framework but having little to no knowledge about its component structure was a surprisingly big obstacle for them since they didn’t cover it in their Curriculum. That was probably the only downside of the project, but we managed to get it done anyways; which makes us even happier.
All in all we had an awesome experience during our time at TechLabs and, most importantly, learned a lot. We got to know interesting people and had a project that we could show off on Github, potentially even to new employers. Before we started our project, we never thought that we would be able to finish such an intense and big project, but we did it for the most part. The result is nothing that could be brought to the market tomorrow, but we learned a lot and had fun doing it. Surely, we will keep the time at TechLabs in mind fondly and we would recommend it to anyone who would like to learn more on how to develop applications.
Thanks a lot to the whole TechLabs-Team.
: She was not located at the web development track but shared her knowledge of the German health system with us and did an awesome job with leading the team.https://www.linkedin.com/in/hellen-heisterkamp-38109a118/
He did the Web Development track with a focus on backend technologies. He made it possible for the customer to have an outstanding authorization flow when he wanted to use the app.
He did the Web Development Track with a focus on front end technologies. He worked his way through the frontend of the app with react and bootstrap.https://www.linkedin.com/in/richard-menning-303469138/
Like Hinnerk she also did the Web Development Track with a focus on backend technologies. She was responsible for the database and made one of the most important parts of the app for us possible with her astonishing work on the backend.
:She did the Web Development track with a focus on frontend technologies. Furthermore she developed a beautiful landing page for the team which was very important to show our customers what they will get before the are registered.https://www.xing.com/profile/Julia_Sperling13