ElleHacks 2024 - Summer Challenge ☀️ (Top 10 Hack out of 248 Participants)
Check out our DevPost for a video demo and a more detailed description of the process.
Repo for frontend (React Native/Expo)
- Running the Expo app opens on the Loading screen to test/show that the app and Flask endpoints are interacting properly to generate a sunscreen
- Individually testing main.py shows accurate API responses from the backend
- The design + prototyping in Figma is fully complete
- Page navigation and text input works for the Expo app
- The styling is very off for some pages of the app which is why input could not be gathered according to plan but the process would be similar if not easier than generating a sunscreen recommendation so I believe it would be relatively straightforward to implement the other functions (in terms of how the frontend and backend interact)
- Figma
- React Native/Expo
- Python (Flask, Pydantic, Guardrails AI)
- Cohere Chat API
- OpenWeatherMap API
- OpenUV API
(I'm not sure how to set up requirements.txt to configure things as it runs but the following information may be helpful if you want to run the app yourself)
For main.py
- set up python virtual environment (in VS Code)
pip install cohere
to access cohere (note that you need a unique api key)pip install guardrails-ai
for the output validationpip install pydantic
for the JSON Schema definitionpip install flask
for endpoitspip install flask-cors
for CORSexport FLASK-APP="main.py"
flask run
to start the server
To set up + run Expo App
npm install
for Node.jsnpm install expo@latest
for Exponpx expo install --fix
to update/sync necessary dependenciesnpx expo install react-native-web react-dom @expo/metro-runtime
to enable running in the browsernpx expo start
to start the app
- check out the DevPost for more information