A MERN-Stack application created by Selam Beyene, Will Faulkner, Nathan Holliday, and Leah Livingston.
FITforecast is a web application designed to enhance your well-being through personalized workout suggestions based on your local weather conditions. Whether it's a sunny day and perfect for a run, a rainy afternoon calling for an indoor activity, or a peaceful evening to recharge with meditation, FITforecast tailors a daily workout recommendation for you.
Click Here to Check out the App Now
It's a MERN-Stack web application hosted on Heroku utilizing MongoDB, Express, React, and Node.js. Also employed with HTML, CSS, and JavaScript, the WeatherAPI is included to provide personalized recommendations.
The application utilizes the third-party WeatherAPI (allowing one million free calls per month). The API's 'forecast' endpoint provides weather data up to three days prior to the current date; this returns useful data like daily average temperature and total expected precipitation.
HTTP METHOD | URL | CRUD | Response | Notes |
---|---|---|---|---|
full index of items |
||||
GET | /check-token |
Read (index) | Check token | retrieves the JWT token |
POST | / |
Create | Creates user | creates a user in the database |
POST | /login |
Read | Login user | logs a user into the application |
GET | /update-token |
Update | Update token | updates JWT token of user |
GET | /refresh-token |
Update | Refresh token | refreshes JWT token of user |
PATCH | /profile/edit |
Update | Edit profile | updates user profile |
GET | / |
Read | View Dashboard | retrieves community dashboard information |
GET | /fetch-weather-data |
Read | View Weather | retrieves weather information |
A big thank you to the team, including our instructors Weston Bailey, Rondell Charles, April Gonzalez & Tom Kolsrud.
- Polish CSS styling following the 'Brand Kit'
- Increase size of font on 'Log-in' and 'Sign-In' pages
- Clean up CSS on 'Edit Activity' and 'Edit Profile' screens
- Clean up CSS on 'My Activity' screen
- Clean up CSS on 'Community Dashboard' screen (mobile vs. desktop)
- Include visual optimization for desktop and tablet views
- Include a carousel view on FITforecast view to see 3-day forecast
- Include ability for user to include a personalized profile photo
- Fix "details" box for 'Edit Activity' page to save update
- Include toggle function between Fahrenheit and Celcius
- Include ability to log-in via oAuth
- Include ability for user to upload a photo and bio on their profile page
- Include ability for user to view analytics like week / month / activity type
- Include ability for user to delete or archive their profile
- Include suggestion functionality that takes into account the time of day
- Include future recommendations based on weather forecast (i.e. out to 'x' number of days)
- Include current weather via shared location services from user's GPS on their device
- Include advanced suggested workouts based on previous performance, ratings, and weather
- Include additional analytics on dashboard
- Include ability for all users to add comments under "leaderboard" (like reddit / twitter feed)
See Current Version of App Here
The team utilized MIRO for brainstorming, strategizing, planning, and the kanban was used to track development progress.
A MERN-Stack application created by Selam Beyene, Will Faulkner, Nathan Holliday, & Leah Livingston.
The idea, FITforecast, is a web application designed to enhance your well-being by providing personalized workout suggestions based on your local weather conditions. Whether it's a sunny day perfect for a run, a rainy day calling for indoor exercises, or a peaceful evening ideal for meditation, FITforecast tailors your workout recommendations for you.
It's a MERN-Stack web application hosted on Heroku utilizing MongoDB, Express, React and Node.js. Employed with HTML, CSS, and JavaScript, a weather API is also included.
The application will utilize the third-party WeatherAPI which allows 1 Million calls per month for free. The API's 'forecast' endpoint provides weather forecasts up to three days ahead of the current date, returning a slew of data including daily average temperature and total expected precipitation.
The minimum viable product (MVP) goal is a functional OKR tool with basic CSS styling.
- AAU, I want the ability to sign-up and create a new profile that includes my location.
- AAU, I want the ability to log-in with an email and password.
- AAU, I want the ability to log-out.
- AAU, I do not want other users to see my activity data.
- AAU, I want the ability to edit my location.
- AAU, I want the application to recommend a workout based on my location's weather each day.
- AAU, I want the ability to log my workout activity, including: date, type, and detailed notes.
- AAU, I want the ability to rate my workout activity.
- AAU, I want the ability to update and delete my previously logged workout activity.
- AAU, I want the ability to see a community dashboard that posts the activity total for all users.
- AAU, I want the application to be user-friendly and mobile responsive.
- Include basic CSS to successfully utilize the application
- Include bottom navigation including 'Home' page link, 'FITforecast' page link, 'Add Activity' page link, and 'My Activity' page link
- Include top header including the FITforecast logo and a profile icon that links to a profile page
- Include 8 individual page views, including: 'Home' screen, 'FITforecast' screen, 'Add Activity' screen, 'Edit Activity' screen, 'My Activity' screen, 'Edit Activity' screen, 'Profile' screen, and 'Edit Profile' screen
- Include visual optimization for mobile view
- Include a 'Brand Kit' for future development use
- Include ability to create a new user profile including: username, email, password, and location
- Include a landing page with ability to log-in via email and password
- Include ability for user to log-out
- Include ability for user to view their profile
- Include ability for user to edit their location
- Include functionality that allows each user to only see their own activity
- Include a weather API that displays the current weather on 'Home' screen and 'FITforecast' screen
- Include current weather based on user's zip code input
- Include a "suggested workout" based on current weather
- Include ability to log a workout activity including: name, type, date, indoor v. outdoor, rating, and detail notes
- Include a page that displays all of a user's activity
- Include ability to update a previously logged activity
- Include ability to delete a previously logged activity
- Include CSS styling following a 'Brand Kit'
- Include complete 'Brand Kit' document for future development use
- Include visual optimization for desktop and tablet
- Include a carousel view on FITforecast view to see 3-day forecast
- Include a "leaderboard" of all users ranked in descending order by total activity
- Include functionality that allows all users to see the same dashboard to encourage "friendly competition"
- Include ability to log-in via oAuth
- Include ability for user to upload a photo and bio on their profile page
- Include ability for user to view previous activity by week / month / activity type
- Include ability for user to delete their profile
- Include suggestion functionality that takes into account the time of day
- Include future recommendations based on weather forecast (i.e. out to 'x' number of days)
- Include current weather via shared location services from user's GPS on their device
- Include advanced suggested workouts based on previous performance, ratings, and weather
- Include additional analytics on dashboard
- Include ability for all users to add comments under "leaderboard" (like reddit / twitter feed)