Lafia HMS Portfolio Project for Holberton School

Cover Image for Lafia HMS Portfolio Project for Holberton School

Introduction

Greetings, everyone! I am excited to share my journey working on the Lafia Hospital Management System (HMS) project. Our team, consisting of Rahmat Folorunsho (UI/UX/Frontend), Ifeanyi Akamigbo (Frontend/Backend), and myself (Backend/DevOps), embarked on this project to address the challenges faced by traditional hospital record-keeping systems. Our goal was to enhance patient care, reduce delays, and provide a seamless experience for both patients and medical professionals.

A Personal Connection

In choosing this project, I reflected on my experiences and realized the profound impact healthcare has on people's lives. Standing in long queues and witnessing data mismatches inspired us to create a system that could make a difference. For me, this project became a way to contribute to the improvement of healthcare services and ensure a smoother experience for both patients and medical staff.

Project Accomplishments

Our Lafia HMS project achieved remarkable milestones. We carefully planned our architecture, utilizing Django and Next.js to create a robust backend and user-friendly frontend. The project's technological choices were driven by the desire to adhere to industry standards and provide a seamless experience.

Features Completed:

  1. Patient and doctor management

  2. Streamlined appointment and prescription processes

  3. Efficient inventory management

Tackling Technical Challenges

While working on the Lafia HMS project, we encountered a significant technical challenge that revolved around configuring our Django project for deployment on Vercel. As the team member responsible for DevOps, the weight of this challenge fell squarely on my shoulders.

The initial attempts to deploy Django on Vercel were met with hurdles and roadblocks. We were faced with the task of harmonizing the intricacies of Django's structure with Vercel's deployment requirements. The challenge was not only technical but also demanded a deep understanding of both Django and Vercel configurations.

Situation: The initial attempts at deploying our Django backend on Vercel resulted in errors and misconfigurations. The default deployment settings were not sufficient, and we needed to tailor our setup to ensure a seamless integration.

Task: My task was to delve into the Vercel deployment documentation, understand the nuances of their deployment process, and align our Django project accordingly. This involved adjusting settings, handling static files, and configuring the necessary parameters to make Django play nice with Vercel.

Action: Through meticulous research, collaboration with the team, and trial-and-error, we discovered the Vercel.json configuration file as a key player in this deployment puzzle. We meticulously set up the Vercel.json file to specify the build settings and deployment nuances for our Django project. Additionally, we fine-tuned Django's WSGI settings to ensure compatibility with Vercel's deployment infrastructure.

Result: After a series of iterations, we successfully configured our Django project for deployment on Vercel. The deployment pipeline became seamless, and our application was up and running without a hitch on the Vercel platform. This experience not only resolved the immediate challenge but also deepened our understanding of the intricacies involved in cross-platform deployments.

This technical challenge underscored the importance of adaptability and perseverance in the face of complex deployment scenarios. It also served as a valuable learning experience for future projects, emphasizing the need for in-depth knowledge of both the backend framework and the deployment platform.

Lessons Learned

Through this project, I gained valuable technical insights, understanding the importance of meticulous planning and adaptability. I learned that challenges are opportunities for growth, and collaboration is key to overcoming obstacles. This project has affirmed my passion for creating solutions that positively impact people's lives.

About Me

I am Leonard Nzekwe, a software engineer passionate about leveraging technology to make a meaningful impact. You can find the code for Lafia HMS on GitHub, explore the deployed project on Lafia HMS, and learn more about it on the project landing page. Let's connect on LinkedIn or Twitter and continue the conversation!