/sccodes-php-track

SC Codes PHP Track workshops and projects

Primary LanguagePHP

SC Codes PHP Track

This repo will hold my up-to-date work with the SC Codes PHP Track. The point is to be able to easily share my progress with other PHP track members and anyone following my PHP coding progress.

It will also help me get in the habit of saving my code and using Git more frequently.

Actions:

  • Clean up my version of the file from the first PHP Workshop.
  • Create the GitHub Repo for the PHP Track.
  • Test README.md appearance on GitHub (actions and relative links).
  • Create instructions for getting PHP 7.2 and Laravel set up on c9.io.
    • Laravel section complete!
    • Gabriel has a good chunk of this available on slack already.
    • PHP7.2 section complete
  • Learn what the submit button does for PHP
    • Is there a post request? It doesn't change the html handle...
    • Can you set a custom href on submit?
  • Add recap of Workshop #2
  • Add details for the PHP Track project
  • List user stories as actions under project header below

CodeSchool Activity

  1. PHP Track
    1. Try PHP
    2. Close Encounters with PHP
    3. Try Laravel
    4. From Form to Table with Laravel
      • The From Form to Table App is replicated in the market folder in this repo. It is not styled and had progress only through the end of the From Form to Table course on CodeSchool.
  2. Database Track
    1. Try SQL
    2. The Sequel to SQL
    3. The Magical Marvels of MongoDB

PHP Workshops

  1. 24Feb18 with Ryan McAllen
    • Worked on general PHP syntax and programming tools.
    • Started working on a simple CRUD interface to modify our "database" (which was the data.json flat file).
    • Learned some tricks on how to read from and write to a file from PHP.
    • Also learned some design patterns for looping constructs in PHP alongside HTML.
  2. 24Mar18 with Ryan McAllen
    • Worked with a fresh Laravel project.
    • Learned more about Laravel MVC layout and how routes work.
    • Learned how to find packages and install them with composer.
    • Full App at the end of the workshop is under php-workshop-2.

Projects

Link to project description
Link to Greenville Open Data Website

Fulfill the user stories below using the Greenville Open Data API.

  • User Story: I can view events by month.
  • User Story: I can sort events by event type.
  • User Story: I want to see a list of events and be able to click a Google Calendar link and add events to my calendar easily.
  • User Story: I can view a list of organizations.
    • This is satisfied by the /orgs route
Project next steps
  • Figure out how to parse timestamps from events
  • Use Guzzle and PATCH to update org titles to match event org names
    • Guzzle starter is in helpers.php
    • Guzzle Docs
    • [ ] Verify that Org names have been updated in the API
  • Abstract orgs display out of template
    • @yield and @section tags
  • Create general template with header / footer
  • Beautify layout.page
  • How do parameters work for PHP?
    • Can use this to select month for event filtering?
  • Figure out how to sort events by date
  • Finish url generator for google calendar in events view.
  • Refactor helper functions into standalone file for simpler codebase.
  • Refactor API calls to a function that auto cleans the data
    • Convert to JSON, apply appropriate helper functions, then return
  • Create logic that filters events by organization type
  • Add links to organizations in the orgs view
  • Figure out what the event type sorting user story is supposed to do...
    • All of the events are hosted by "Meetup Groups" (go figure)
  • Make a model and try to port logic from the controller to the model
    • FFTT has two models (farm and market) as example. They are called from the controller
  • Format Orgs view to look more like this
  • Create header and footer sections and include in layouts.page
  • Learn how to incorporate multiple templates in a view (head/foot/nav)
  • Choose a CSS framework for prettification