Due to the influence of COVID-19, medical resources are less reachable, and people are concerned about how to allocate medical resources fairly and effectively. Instead of visiting different hospital websites to find out the earliest possible appointments and getting useful information from scarce resources, building up a medical platform to unite the hospitals in one region and realize resources sharing and arrangement among different hospitals could be a better solution. In this hackathon, we want to implement a mini-public medical platform that can break the boundaries between hospitals, realize cross-hospital appointments, online consultation, information sharing, and other one-stop services to get to the patients at the earliest time.
What it does
In this online doctor reservation web system, users will be able to find the popular hospitals in Philadelphia, search for available appointments and make a reservation. Users can reserve a time slot to meet the doctor with a particular specialty on a specific day, and the system will provide all available doctors at that time. After the time is chosen, an agenda will be added to the users' calendar in this web app. Users will also be able to search doctor information, review feedback from other patients and comment doctors as feedbacks.
How I built it
We implemented the front end using React.js with Ant-Design and Bootstrap for styling. The back-end is completed by Java with the help of spring-boot framework. We created several entities, respond and request classes, database repository to connected to our database; We managed data with the help of JPA and SQL language, and improved security by JWT . We deployed mySQL database on AWS RDS. We use google map API to mark the popular hospitals in Philadelphia.
Challenges I ran into
First, in our database design, we need to consider thoroughly about entity relationships, like the relationships between users and their reservations and feedbacks. Then, for the backend, we need to handle exceptions for bad requests and other errors. We need to deal carefully with all the responses and requests involved, so we can finally get all the information we want from the server and show it And for the frontend, understanding the lifecycle of react is quite important Finally, since only registered users can make an appointment, we need to add the authentication part.
Accomplishments that I'm proud of
Java Spring boot is a popular framework used in backend, it is also welcomed by many backend developers. Since we do not have previous experience on this framework, we feel proud that we have managed to learn how to handle requests from the client and how to make effective communication with the MySQL database.
What I learned
- Get familiar with popular framework Spring.js and React.js
- Learn how to improve auth security by JWT and handle exception
- Learn how to use API (Ex. google map API)
What's next for Meet a Doctor
- Add online-doctor function.
- Separate doctor-side application from user-side application.
- Add appointments remainder.