Skip to content

emma-horton/Runnify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JavaScript Badge Node.js Badge HTML Badge CSS Badge MongoDB Badge D3 Badge

Runnify

Runnify is a full-stack web application designed to demonstrate advanced programming and software development skills. It showcases the ability to build an interactive platform for organising social runs and tracking fitness progress.

🌐 View the project here
Note: Desktop-only access for now

Project Overview

Runnify was created by a team of five students to explore the development of responsive, user-focused web applications. The project leverages technologies including JavaScript, HTML, CSS, Node.js, and MongoDB, highlighting knowledge in both frontend and backend development.

Purpose

This project serves as a demonstration of technical and collaborative skills in:

  • Full-stack development
  • Data persistence and user interaction
  • Responsive design and usability

Runnify isn’t a live product but a representation of how modern technologies can be used to create engaging digital experiences.

Features

🔑 Sign Up and Log In

  • Enables users to sign up and log in, granting access to the platform’s features.
Login Page Sign-Up Page

🏃‍♂️ Create Runs

  • Allows users to create new runs by specifying details such as pace, start time, location, and distance.
  • Automatically generates an optimised route and provides a weather forecast for the run.
Create Run Page

📰 Discover Runs on the Feed Page

  • Displays all available runs with details, including meeting points, pace, mapped routes, participants, likes, and comments.
  • Users can join, like, and comment on runs directly from the feed.
  • Offers sorting options by pace and distance to better organise the displayed runs.
Feed Page

📊 Track Progress with Statistics

  • Provides functionality to update fitness goals and track activity trends over time.
Statistics Page

Technologies Used

  • JavaScript: Handles the application logic, retrieves data from the OpenWeather and GeoCoding APIs, and displays running routes using MapBox.
  • HTML: Structures the web application and ensures a well-organised layout.
  • CSS: Provides styling and layout for a visually appealing and responsive user interface.
  • Node.js: Processes HTTP requests from the frontend (e.g., user logins, creating new runs, liking posts) and manages interactions with external APIs like OpenWeather and GeoCoding. It also facilitates communication with MongoDB for storing and retrieving data.
  • MongoDB: Stores persistent data, including user information (e.g., usernames, passwords, preferences) and run-related data (e.g., route, pace, start time, distance, participants), as well as interactions like comments and likes.

Acknowledgements

  • OpenWeather API: Provides weather information used to predict conditions for future runs.
  • GeoCoding API: Supplies the longitude and latitude of the starting point, allowing the plotting of optimal running routes.
  • MapBox: Displays the running routes on an interactive map for users to visualise their paths.
  • D3: Generates the graphs that are shown on the statistics page.
  • SweetAlert2: Creates interactive pop-ups and alerts throughout the application.
  • Sessions: Tracks user activity across different pages to maintain session state.
  • Mocha & Chai: Perform automated testing to ensure the application’s functionality and reliability.

Contributers

Name Contributions
Teja Garrido Graphs Statistics, Styling of Pages.
Emma Horton Testing Server Endpoints, Calendar for Runs, Database Setup, Styling of Pages, Create endpoints on server.
Harry Huang Running Feed.
Phil Kolling External weather API, Map API, Algorithm, Database Setup, Register Page, Login Page, Create endpoints on server, Helper Functions.
Reanne Sutton External weather API, Database Setup, Register Page, Login Page, Styling of Pages, Create endpoints on server, Sessions.

Login Details

  • Username: Claire
  • Password: claire

Project Grade

Grade: 19/20 (95%)

About

A full-stack web application developed to help runners organise social running activities and track their progress over time.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors