Giter VIP home page Giter VIP logo

trainermate's Introduction

TrainerMateLogo

A website where anyone can share there workout routines, meal plans and recipes. TrainerMate allows people across the world to find and share new ways for working out.

UX

The aim for TrainerMate is to have a simple and easy way for user's to find and share ways to keep themselves fit and healthy. TrainerMate can be used by all age ranges. The main target audience is anyone looking to enhance their health and lifestyle.

User Stories

  • As a user looking to gain muscle, I want to be able to find exercises to help me learn and improve my way of exercising.
  • As a user, I want to share my meal plans with others so that they help user's the same way they helped me.
  • As a user, I want to post recipes that helped me stay healthy with others.
  • As a user, I want to have a choice to edit my posts if I have made a mistake.
  • As a user, I want to be able to remove my posts if I decide I'm no longer happy with it.

Wireframes/Mock-Up's

Below there are images of my initial ideas/mock-ups of the website:

  • Mockup image of the website:

small resolution mockup

  • Mockup image of the website:

medium resolution mockup

Features

Existing Features

Navigation Bar

Every feature on the website is designed to be responsive with any device. The Navigation Bar is is designed to collapse to allow the user to see the rest of the website easier.

Page Titles

The page title is a simple hyperlink back to the home page to give the user's a fast and easy way to go back. The other page titles are also hyperlinks to enter each individual page.

Nav Bar Collapsed Menu Button

The Menu button seen when the website is on a smaller resolution, is used as a dropdown menu. This helps to reduce cluttering of the website.

Home Screen Carousel Images/Text

The home page has a small briefing of each page of the website. In this brief it explains what you will encounter when arrive on them. All of the images/text areas are hyperlinks to the pages described.

Workout/Meal Plan/Recipe pages

On the following pages will be a blank box where a user can enter a plan name and plan type either one of their workout routines, meal plans or recipes. Once the user has entered a post it will be there to see for others users to look through. There is also a remove and edit button. Allowing users to change something or delete if they change there mind.

Future Features

Other features that could be implemented in the future could be sign in method allowing users to enter into there own profile page showing every one of there past posts. Allowing them to choose if they'd like to remove something from an earlier date. Furthermore, a like button or a comment area could be added to give the other users reading a chance to share there opinion on someone elses post.

One final feature that was added but has yet to have any functionality is the Contact Us form. This form was added for UX/UI but could be made functional in the future.

Technologies Used

The following technologies were used to help create this website:

  • HTML5: Mark-up language used for creating the website.
  • CSS3: Stylesheet language used to create the presentation of the website.
  • JavaScript: Is a high-level, just-in-time compiled, object-oriented programming language
  • JQuery: Used to simplify some of the DOM manipulations.
  • Python: Is an interpreted, high-level, general-purpose programming language.
  • Flask: Is a micro web framework written in Python. It is classified as a microframework because it does not require particular tools or libraries.
  • Mongodb: Is a cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with schema.
  • Heroku: Is a cloud platform as a service supporting several programming languages.
  • GitHub: Is website that provides hosting for software development.
  • MaterializeCSS: Is a modern responsive CSS framework based on Material Design by Google.

Testing

Manual testing was best suited for the website and this is the steps taken:

Searching on TrainerMate for Workout Routines

  1. From the homepage, hover the mouse over the navigaion bar and click Workout routines.
  2. Once you have entered the Workout routines page, scroll and look through the workout routines.
  3. Finally when you have found the correct routine click the title and the dropdown description will appear.

Sharing Meal Plans

  1. From the homepage, move the mouse to the navigation bar and click Share.
  2. Once you have entered the Share page use the form to add the information you wish to share.
  3. Start by choosing the Meal Plans category.
  4. Then, press the plan title and enter the desired title.
  5. After this, press the plan description section of the form and enter the desired description.
  6. Finally, press the share button.
  7. This will then send you back to the homepage.

Validation Test

  1. Repeat steps 1, 2 and 3 for Sharing Meal Plans.
  2. To test the Validation of the Plan title skip step 4.
  3. Then, Enter a plan description.
  4. Finally, press the share button.
  5. The form will ask you to fill in the missing field.
  • By repeating these steps again but entering a plan title but not a plan description the form will ask again to fill in the missing field.

Editing Posts

  1. From the homepage, move to the navigation bar and click the desired tab for which type of plan you have created.
  2. For example when entering the recipes page, press the title which you choose to edit.
  3. Press the title dropdown and click the edit button.
  4. After entering the edit posts page, in the form choose which section you'd like to change.
  5. Then click the post button when you are complete.

Deleting Posts

  1. When entering the Homepage, move the mouse to the navigation bar and click the category tab of the plan you have created.
  2. For example, when entering the workout routines page, look for the plan title that you wish to delete.
  3. Then, click the plan title, This will dropdown the plan's description and show the edit or delete buttons.
  4. Press the delete button.
  5. Repeat steps 1 and 2 to check for the plan name you wanted to delete.

Responsive Design

The website has been tested using the developer tools and also with Am i Responsive. This was done so that the website will be compatible in all different screen sizes. When the site is used on a small screen size the site is designed to stay as simple and clutterless as possible.

The website has been tested in the following device resolutions:

Mobiles

  • Pixel 2/XL
  • iPhone 5/SE/6/7/8
  • iPhone 6/7/8+
  • iPhone X
  • Galaxy S5/S9/S9+

Tablets

  • iPad/iPad Pro
  • Kindle Fire HDX

Desktops/XL Desktops

The website has been tested with these browsers:

  • Google Chrome
  • FireFox
  • Internet Explorer

Validation

The website has be validated using:

Deployment

To create the website, I have used the coding platform Gitpod. Deployment and source control was done via GitHub and Heroku.

My repository can be found here:

https://github.com/elg1e/TrainerMate

The live website was deployed using Heroku. The site can be found here:

https://trainer-mate.herokuapp.com/

Follow these steps for deployment using Heroku:

  1. Firstly, log into Heroku and created a new application.
  2. Then, follow the steps Heroku give you on the website to connect Heroku to the web app. These steps are to install the Heroku CLI by logging in.
  3. After this, create a new GitHub repository.
  4. Once this is complete deploy the application by commiting and pushing the work via git push heroku master branch.
  5. Before pushing anything to Heroku you must have a requirements.txt file and a Procfile.
  6. Then, by typing in the terminal: heroku ps:scale web=1 this will then get the Heroku app up and running.
  7. Finally, open up the Heroku app settings on the Heroku website and make sure to set the config variables (IP/PORT).

Credits

Media

The images used for the website were taken from:

trainermate's People

Contributors

elg1e avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.