Skip to content

Slmbyn/Fit-Forecast

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Banner Photo

A MERN-Stack application created by Selam Beyene, Will Faulkner, Nathan Holliday, and Leah Livingston.


Project Description

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


Tech Stack

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.

API Details

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.

API Details


ERDs

ERD


Restful Routing Chart

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

Screenshots of the App

Mobile View

Current Wireframes


Credit

A big thank you to the team, including our instructors Weston Bailey, Rondell Charles, April Gonzalez & Tom Kolsrud.


Next Steps

Style
  • 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
Functionality
  • 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


Planning Materials & Original Pitch below

Brainstorming

The team utilized MIRO for brainstorming, strategizing, planning, and the kanban was used to track development progress.

MIRO


Project Idea and Description

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.


Tech Stack

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.

API Details

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.

API Details


ERDs

ERD


Restful Routing Chart

Restful Routing Chart


Wireframes of your app

The minimum viable product (MVP) goal is a functional OKR tool with basic CSS styling.

Wireframe


User Stories

  • 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.

MVP Goals

Style
  • 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
Functionality
  • 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

Stretch Goals

Style
  • 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
Functionality
  • 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)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 81.5%
  • CSS 15.1%
  • HTML 3.4%