Git Product home page Git Product logo

gglog's Introduction

ggLog

To Install, copy the neccesary scripts and html documents into a folder of your web server.
Demo at http://ko.kooia.info/ggLog/
Concept video available at: http://youtu.be/I5KrViMpEa4
Many of the files are for storing IP addresses, requiring SQLite.
Icons from Glyphicons, as integrated into Bootstrap 3.0 http://glyphicons.com/
Charts: Used Flotcharts

Contributors

Misc. Notes

  • There's some REALLY weird things to do with .htaccess files in order to rewrite "astext.php" as "astext.txt". Config will need to address that; it's currently just optimized for our current location.

When using, create a config.php file which includes this:

define("GG_HOST", "your mysql host");
define("GG_DATABASE", "your mysql database");
define("GG_TABLE", "your mysql table containing workouts");
define("GG_SEASONS", "your mysql table containing season info");
define("GG_PREFIX", "gg_ (or similar)");
define("GG_USERNAME", "username to your mysql database");
define("GG_PASSWORD", "password to your mysql database");

function gg_get_pdo()
{
  return new PDO("mysql:host=" . GG_HOST . ";dbname=" . GG_DATABASE, GG_USERNAME, GG_PASSWORD );
}

Current functions

  • Add workouts
  • Edit workouts
  • Delete workouts
  • Weekly Mileage
  • Seasons (incomplete)
    • Order by week
    • SQLite database/table for seasons
    • Remove seasons
    • Seasons are week-based!
    • auto add mileage
  • Incomplete Ajax loading

Todo + Ideas

Bold indicates that an item is being worked on.

  • Emoticons
  • NEED TO WORK ON: Finish flotrackr upload & parse
  • Safe, secure, multi-user system!!
  • Auto-add total mileage
  • Set seasons with auto-adding mileage (Summer Training, Track season, Winter Training, Cross Country) dev
    • UI for editing seasons
    • Perhaps a larger interface for editing
    • JS shorten title so it won't overflow in the list
  • Modularize (so you don't have a single 25kb php file containing all html, css, php, javascript, sql, etc)
  • Weekly Mileage
    • Sort by distance, time, avg. pace, date, etc.
    • something like this for displaying mileage per day
    • bar charts for miles run on mon, tues, wed, etc.
    • charts for miles etc. Include seasons in it?
  • Daily Mileage
    • Group workouts that happen on the same day, so you can input your 3 mile tempo seperately from the 5 miles of easy running.
  • Date auto-fill:
    • Allow future dates, or allow inputting dates.
    • Calendars?
  • Mobile version / Redesign to appear the same on all browsers
    • boostrap seems to change based on your browser
    • sometimes the words on buttons get cut off on some browsers
    • the save, cancel, delete buttons while editing sometimes roll over to a new line [ iphone ]
    • fluid layout (w. percentages) ?
    • Redo navbar
    • Redo "New Workout" button
    • Improve Weekly Mileage interface
  • Option to hide notes
  • Routes (since a 10 mile glider port is easier than 10 mile PQ canyon)
    • redo SQLite database to allow routes to be associated with runs
    • new SQLite database storing routes
    • Sharing routes between users
    • PRs (also add PRs on distances)
    • Allow creation of routes
    • Auto-distances for routes using Javascript
  • don't load everything at once - only show 30 or so workouts at a time ??
    • revamp to have ajax - and autoscroll stuff, so you don't have to press the button every time
  • Use JQuery instead of javascript?
  • Prevent re-submitting when reloading the page?
  • Add functionality for users (however, it would probably be better to get the demo working first before switching everything over to users)
  • Set goals (daily, weekly, season-ly, yearly)
    • update primary SQLite database to include a location for goals
    • distance goal
    • time goal
    • goal notes
  • Coach account?
    • can view all student accounts
    • students can type in code to become a coach's student
    • can send out goals
  • Rankings between users (distance, speed, improvement)
    • Also with routes
  • Specify races vs workouts
    • addtl. column in primary SQLite table for type of run
    • editable run types
    • preset run types
  • Download / export
    • basic .txt doc
    • PDF export / printing
    • in js or php or perl
  • privacy settings
  • Switch to PDO functions instead of sqlite_exec and sqlite_query
  • Perhaps some kind of auto-loading weather
  • Set location
  • Set weight
    • calculate calories burned (0.8 * lbs * miles)
  • Configure page
  • Remember date that workout was submitted
  • Holidays?
  • Color coding mileages
  • miles/km, lbs/kg
  • MySQL version
  • No stray escape characters when editing a post with quotation marks.

Parts of the user system

  • Login screen
  • Navbar changes depending on whether you're logged in
  • Profile pictures:
    • Limit who can see profile pictures: probably with some php linked with .htaccess
  • Hash/password and all that great stuff
  • User permissions
  • User friends, and who can see who's activity
  • Settings for your account (who can see what, your profile picture)
  • Which groups you're in.
  • We can either store this all in the _seasons or whatever table, or in the big user-table.

gglog's People

Contributors

davidberard98 avatar element00 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

davidberard98

gglog's Issues

Mobile: Left-justify?

What do you guys think?
3
Should we make the "Title! Title!", "June 24..." "15 miles" etc -- should we make them left-justified, or leave them centered?

Can't deal with a lot of entries.

A significant issue: I tried adding 2000 random entries. Although server-side MYSQL command to "select *" supposedly took .06 seconds (it took multiple seconds to send all the info through ssh), there was apparently a problem in weeks.php which caused over 30 seconds of thinking. Need to make it more efficient: the MYSQL isn't having issues, but probably the sorting php has some issues. In fact, why do we even use weeks?

Mobile issues

It does not stay in a line (the date thing). Also, need edit support & delete support & just support to actually view actual workouts.

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.