Commfy is a digital product that fundamentally changes how bike commuters make their cycling clothing decisions. Through data-driven recommendations, the application ensures that users wear the right clothes every time they ride their bikes, even in changing weather conditions. Automated and enhanced apparel selection takes the personal commuter experience to a new level, allowing users to focus on what matters most to them truly. Hence, Commfy transforms bike commuting, making it more convenient, easier, and safer.
The project was realized in TechLabs` Winter Term 2021/2022.
Are you interested in our UX-Team´s work? You can find all the UX content in the Docs folder.
Requirements: Node.js, version 12
Clone the repository:
git clone https://github.com/TechLabs-Berlin/wt21-commfy.git
Navigate to /client directory:
cd client
Install dependencies:
yarn
Ask one of the team members for the .env
file and place it inside the client
directory.
Run the app:
yarn start
Note upfront: in order to run the backend locally, a key is needed (admin-access only)
Install Firebase
npm install -g firebase-tools
firebase login
Navigate to /functions directory:
cd functions
Install Firebase Admin
npm install firebase-admin
Run Firebase
firebase serve
The App experience is optimized for iOS / iPhone 12 Pro (Simulation of mobile version on Chrome: Open DevTools by pressing F12 > Choose iPhone 12 Pro in the Toogle Device Toolbar).
- navigate to recommendation_API/rule-based_model
- open zsh/bash → pip install requirements.txt
- create an account with https://openweathermap.org and get your api key
- create python file with api = ‘your api’ and name it as ‘congif.py’
- save in the root directory
- convert notebook into a python file and name it as ‘Commfy_RBM’
- import Commfy_RBM as rbm
- create an account on pythonanywhere
- upload the ‘Commfy_RBM.py’, ‘Flask_api.py’ and ‘requirements.txt’ into the working directory
- open a bash console on pythonanywhere
- pip install requirements.txt
- configure WSGI configuration to serve up the web application at http://.pythonanywhere.com/
- set the variable ‘application’ to a WSGI handler - ‘Flask_api’ for this project
- add your project directory on pythonanywhere to the sys.path
- reload the web application (http://.pythonanywhere.com/)
- navigate to recommendation_API/ML_notebook
- open zsh/bash → pip install requirements.txt
- run the multiclass_classification_feet.ipynb
- Python (scikit, pandas, numpy, request, datetime, pytz. matplotlib, seaborn) - programming
- CLI - mean of interaction
- Git & GitHub - version control
- Requirements.txt & virtual environment - dependency management and isolation
- Jupyter Notebook - human-readable documents with executable codes
- VS.Code - integrated development environment
- Flask App - API
- Cloud Server: PythonAnywhere