Giter Club home page Giter Club logo

raistlfiren / run812 Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 4.59 MB

A curated list of running routes pulled from an API, Ride With GPS, and displayed on a simple website. The goal is to provide a collection of routes with their cue sheets for easy access.

Home Page: https://812.run

PHP 70.42% Dockerfile 0.91% Twig 16.02% JavaScript 7.72% SCSS 2.59% CSS 2.33%
leaflet php routes run symfony mysql ridewithgpsapi cuesheet docker-compose

run812's Introduction

Run 812 Routes

This is a "simple" application to organize running routes in the tristate area. It uses PHP, Symfony as the framework, for the backend and Bootstrap for the frontend. The Javascript is vanilla. The website fetches routes from Ride With GPS.

Symfony

Homepage

Homepage

Route View

Route View

Route Collection View

Route Collection View

PDF View

PDF View

Currently, the application can do the following:

  • Fetch routes from Ride With GPS
  • Store those routes in a database
  • Display routes in a simple and easy to use view
    • Filter routes by location, name, or distance
    • View routes and collections of routes
    • View a thumbnail of the route
    • See next scheduled route on the homepage
  • Display individual routes
    • Display mile markers on routes
    • Display directions on routes
    • Export the cue, direction, sheet to a PDF for easy printing
    • Export the route to a GPX file to import into your watch or other program
    • View the route on Open Street Maps
  • Manage events, route collections, locations, and fetch a new data set of routes from Ride With GPS
    • Events can be created with a route collection to display on the homepage
    • Route collections are a collection of similar routes that vary in distance
    • Locations are just general locations for filtering routes on the view all routes page

Running the program

Docker is the recommended way of running the program on your local computer. Current requirements:

  • PHP 8.1
  • MySQL Database
  • .env needs to be copied to .env.local and values need to be updated

Helpful commands

docker-compose up - Runs the docker-compose.yaml file and generates the environment It consists of PHP 8.1, Nginx, and MySQL

docker-compose run encore npm install - Installs npm dependencies

docker-compose run encore npm install --save <package_name> - Installs package to package.json

docker-compose run encore npm run watch - Builds JS dependencies and watches for changes

docker-compose run encore npm run build - Builds everything for PROD or live environment

After docker-compose up...

docker-compose exec php composer require <package_name> - to install a dependency

docker-compose exec php ./vendor/bin/phpunit - Run tests

XDEBUG_MODE=coverage docker-compose exec php ./vendor/bin/phpunit --coverage-html html - Run phpunit tests and generate =code coverage xdebug.ini will need to be updated with xdebug.mode=coverage

docker-compose exec php ./bin/console ... - Execute Symfony console commands

docker-compose exec php ./bin/console routes:download - Download and store all the routes from Ride With GPS. This requires a valid login and API access.

docker-compose exec php ./bin/console user:create <email> <password> - Creates a new user in the database

run812's People

Contributors

raistlfiren avatar

Watchers

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