Announcing Astrahealth V0.9🎉
Tags: webdev, programming, python, healthcare
Published: 2024-05-15 22:42:08

### Introduction

In Nigeria, a nation of over 200 million people, accessing quality healthcare is a major challenge. With a doctor-to-patient ratio of around **1:10,000** according to [Al Jazeera](https://www.aljazeera.com/features/2023/10/23/death-on-duty-nigerian-doctors-blame-continued-exodus-on-state-negligence), the country falls far short of recommended levels. This shortage translates to long wait times, limited consultations, and often, a significant financial burden for those seeking medical attention.
This lack of accessibility has a ripple effect. People, unable to see a doctor easily, often don’t seek medical attention until their conditions become severe, sometimes beyond salvation. Preventable issues may go unnoticed, and treatable illnesses can escalate. Imagine if a simple consultation via AstraHealth could address these concerns early on.
Our app allows users to schedule a consultation with a world-class doctor in under 3 minutes.


### Our Story

When it came to choosing a project for our portfolio, we explored various options - FinTech, EdTech, bespoke tailoring solutions, etc. which were all great. But AstraHealth resonated deeply. We saw a chance to tackle a real pain point: the difficulty of accessing healthcare in the country. 

### Technologies Architecture

![architecture](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/li4hpafyxoov29v0gbqb.jpeg)

This architecture is designed to provide a solid foundation for the MVP while leaving ample room for scalability.

- Users access the AstraHealth application securely over HTTPS through a web browser by visiting [health.astrafort.tech](health.astrafort.tech)

- The request is received by the web server in the frontend which holds the HTML content and the static files.

- Requests that require any processing or business logic are forwarded to an ubuntu server which serves as a load balancer. I've installed HAProxy on the server to enable SSL proxy termination and load balancing.

- The load balancer which is at [api.astrafort.tech/docs](api.astrafort.tech/docs) forwards all the request using a round-robin algorithm to the backend servers which hold the FastAPI codebase, the PostgreSQL server and the application server running with gunicorn. 

#### Front-end Technologies
- Languages - HTML, CSS, JavaScript
- Platforms - Web browsers (chrome, opera, safari, firefox, etc.) and Desktop Platforms (windows, macOS, linux)
- Frameworks - Bootstrap


#### Back-end Technologies

- FastAPI: A high-performance web framework for building APIs 
- SQLAlchemy: A comprehensive ORM and SQL toolkit
- Alembic: A lightweight database migration tool 
- Pydantic: Provides data validation and settings management
- JWT Authentication: Secures user sessions with JSON Web Tokens
- OAuth 2.0: focuses on client developer simplicity while providing specific authorization flows for applications
- PostgreSQL: A robust, open-source object-relational database system
- Development and Testing
- Python’s unittest module

### The Road Ahead

As we look to the future, we have several exciting developments planned for AstraHealth:

- Integration with Cal.com APIs: We are going to integrate Cal.com APIs for doctors so they can easily view and manage their appointments directly within the web app.

Mobile App Development: Our next major milestone is to develop a mobile app for AstraHealth. This will provide users with greater flexibility and accessibility, allowing them to book and attend virtual consultations on-the-go.

Doctor Onboarding: We will begin onboarding qualified doctors onto the platform. This process will ensure that users have access to a diverse and experienced pool of healthcare professionals.

Marketing Initiatives: We plan to collaborate with a marketing team to promote AstraHealth and attract new users. As part of this effort, we will offer free consultations to users for a limited period after onboarding. This initiative aims to build trust and demonstrate the value of our service to potential users.

These future developments are designed to enhance the functionality, accessibility, and user experience of AstraHealth, positioning us for continued growth and success.

### Conclusion

AstraHealth is just the beginning of a transformative journey in virtual healthcare. The app still holds a lot of potential, and we are committed to working with experts to ensure it reaches fruition. Beyond virtual consultations, there are numerous opportunities to pivot and expand, such as integrating logistics for drug delivery and other healthcare services. With a solid foundation in place, the possibilities are endless. We are excited about the future and look forward to exploring these opportunities to create a comprehensive healthcare platform that serves the diverse needs of our users.