What We Built
MedInfo is a web application that allows users to search for any medication and instantly receive organized, easy-to-understand information about it. The platform pulls reliable data from the FDA and presents it in a clean, user-friendly format—making it simple for anyone to learn about the purpose, warnings, side effects, dosage information, and contraindications without confusion.
What Inspired Us
MedInfo was inspired by the challenge many people face when trying to understand or access medication information. Prescription labels and medical resources can be confusing or scattered across multiple sites. MedInfo simplifies this process by providing clear, accessible, and reliable medication details in one easy-to-use platform.
What We Learned
- How to fetch and manage real-time medication data from an external API.
- How to apply the Model-View-Controller architecture in an Express backend by separating the API logic into models for data handling, controllers for request processing, and routes for managing endpoints.
- How to format and display the retrieved data using React components for a clean and dynamic user interface.
How We Built It
Frontend: Built with React, providing an intuitive interface for users to search medications and view organized, dynamic information in real time.
Backend: Powered by Node.js and Express.js, managing API requests, handling data flow, and serving organized responses to the frontend.
External API:
- openFDA API: Used to fetch reliable and up-to-date medication information directly from FDA’s public database.
Challenges We Ran Into
- Handling asynchronous API requests and synchronizing data flow between the openFDA API, backend, and frontend.
- Implementing effective error handling to manage invalid searches, missing data, and failed API requests without breaking the user experience.
- Structuring and organizing routes and endpoints in Express to clearly separate different functionalities and maintain a clean, scalable backend design.
Log in or sign up for Devpost to join the conversation.