Inspiration
The team has a pre-med member that wanted to construct a program that will make it easier for anyone to keep track of their volunteer experiences and have it all in one place. This is especially important for students hoping to attend medical school because they are required to submit their volunteer/shadowing experiences when applying.
What it does
Medical Portfolio is a website that allows you to log into your personal account and record all of your volunteer and shadowing experiences. You can add each individual experience with a title, location, start/end dates, and a description of what you did.
How we built it
We created separate Docker containers for both the frontend and backend to easily build and test our web application. We used Python Flask for our backend to create API endpoints. The backend is hooked to Firebase to store user and project data. The RESTful API that we created in Flask is used in our web application's React frontend to retrieve and publish data from and to our database. We use Google Cloud Platform for continuous deployment, triggered by a push to the GitHub repository.
Challenges we ran into
It was challenging to connect Firebase and Google Cloud in the backend code and having to understand good practices in referencing API keys or preventing the exposure of other confidential information. We were unable to integrate authentication, so all the projects are fetched from the database, instead of only the ones pertaining to the specific user. We were very new to using Next.js so we didn't have enough time to stylize our website and its components.
Accomplishments that we're proud of
Given our coding experience and available resources, managing to construct a website that is capable of fulfilling our purpose was a feat in itself. Even though there were some limitations in implementing the frontend of our website, we were still pleased with how it turned out in the given time.
What we learned
We gained a deeper understanding of how essential it is for the backend and frontend of the website to connect and function together. We also learned how to use React and Next.js to execute our website. One of our members has a minimal coding background and has not participated in many projects like these, so it was very challenging but extremely rewarding.
What's next for Medical Portfolio
In the future, we hope to integrate authentication, allow users to upload documentation to verify volunteer hours, and stylize our website. These changes will make Medical Portfolio a more appealing, organized, and useful way of recording their volunteer experiences.
Log in or sign up for Devpost to join the conversation.