Yore Tutorial Script

Well, this will eventually be a tutorial, right now it's just an outline :/

  1. Introduction - What is Yore?
    1. The 8 fundamental Pillars of Yore
      1. Yore is an MVC for building web applications
      2. Yore has 2 View Template Engines
        1. Standard HTML (Called "Fred") 
        2. "Blade" like in Laravel
        3. (I might add Twig too)
        4. You can use these interchangeably based on the file name of the template
      3. Yore has a platform independent Controller & Template Language (called "Fred")
      4. Yore has automatic URI routing
        1. In Modules:
          1. Web Trait function names are website routes
          2. API Trait controller function names are API routes
          3. Also, Fred Trait function names automatically become Fred and Blade "@template()" functions
        2. Otherwise domain, site & view folders automatically become routes
        3. Multiple Views selected from a route can be based on the user's Role value
      5. Yore apps can be deployed anywhere you can store data
        1. Disk files (Like you normally do)
        2. Database
        3. GitHub/GitLab, etc
        4. FTP, DropBox, S3
        5. (anywhere a URL can return JSON)
      6. Yore has a really useful Module Engine
        1. For extending Yore in the platform/language of your choice (i.e. Php, Python)
        2. Or modules can be built using Fred to be platform independent
      7. Yore apps can be interconnected
        1. Instantiate and use an object on a different server
        2. Distribute tasks to multiple servers
      8. Yore has built-in version control and deployment and unit testing tools
    2. Honerable Mention Pillars of Yore
      1. A useful CLI:
        1. Table CRUD Code and Page generator
        2. Site cloning tool
        3. Class Tinker tool
        4. Push/Pull whole sites to/from data source
        5. Excel integration tool
        6. _________________
      2. Native App Compiler?
      3. Example Themes, Modules and Starter Apps
    3. Yore is primarily an Application Framework
    4. Interesting things that make Yore unique
      1. Free and Open Source, of Course 
      2. Platform independent design
      3. A simple and useful template engine called Fred
      4. Yore also supports Blade templates, like in Laravel
      5. An easy, yet powerful server side scripting language based on BASIC.
      6. Everything is a Module
      7. WebWork - Remote Classes
      8. Sample Apps & Themes
      9. Create pages just by going to a new URL
      10. Automatically generate full sets of CRUD pages for existing DB tables
    5. Comparing Yore with other frameworks
    6. The future road map
    7. Contributing
      1. https://github.com/blackrushllc/yore
  2. Installation
    1. Linux/Apache
    2. Windows or whatever
    3. Composer is optional
  3. Yore Files and Directory Structure
    1. Why this is important
    2. Yore directories and files
    3. HTML vs Blade templates
  4. Configuration
    1. Admin dashboard
    2. Database connection
  5. Making a "Hello World" page
    1. Using the Admin dashboard
    2. Editing files directly
      1. Page JSON
      2. Page View
  6. Using UI and Tools Modules
    1. Debug Module 
    2. Navigation Menu
    3. Desktop
    4. Office Docs and Sheets
    5. Database Admin
    6. Forms
    7. JSON Viewer and Editor
    8. API Explorer
    9. Files and Uploads
    10. Reports
    11. Javascript Library
      1. Tray
      2. Context Menus
      3. Excel and PDF
  7. CLI CRUD Generator
  8. CLI Site Cloning tool
  9. DEBUG mode 
    1. Memory Dump
    2. Automatic page creation
    3. "404" Site, Page and CRUD generator page
    4. PhpStorm integration built-in
    5. Inline View, Blade and JSON Editor
  10. Version Control & Deployment
  11. Unit Testing
  12. A Brief Look at Fred and YoBASIC
    1. What is Fred and When Should You Use It
    2. What is YoBASIC and When Should You Use it
    3. How Remote Classes are the Coolest Thing Ever
  13. Why Fred and YoBASIC? Platform independent web/app hosting
  14. Subdomain Sites
  15. Building a Skeleton Web App using Modules and Themes
  16. Building an Online Course with PayPal payments, SMTP Email, and Accredible certificates
  17. Building a Twitter Clone
  18. Creating a Text Game
  19. Building a Twilio Front-End: Twilite
  20. List of clone-able sample web apps
    1. app.yoreweb.com
    2.  
  21. List of Included Modules
    1. Admin
    2. App
    3. Basic
    4. Courses
    5. Database
    6. Debug
    7. Games
    8. Hello
    9. Library
    10. Logging
    11. Mail
    12. Navbar
    13. Skeleton
    14. Twilite
    15. Users
  22. Module Documentation (this should be later in the outline, I think, probably after YoBASIC)
    1. Modules are Classes 
    2. Sample Single File Module
    3. Sample Multi-File Module with Traits and Views
    4. Sharing Modules
    5. Module Directories
    6. Route Limitations (on purpose)
    7. API Routes and Functions
    8. Fred Functions
    9. Scheduling Tasks
    10. Referencing Other Modules
    11. Using the Database Module
    12. Authentication with the User Module
    13. Forms
  23. List of Included Themes
  24. Building a Custom Theme
    1. Sample Theme
    2. Sharing Themes
    3. Theme Documentation
  25. Fred and YoBASIC - View and Controller programming
  26. Fred Documentation
    1. Fred User Guide
    2. Fred Reference
  27. Extending Fred
  28. YoBASIC Documentation
    1. YoBASIC User Guide 
    2. YoBASIC Reference
  29. Building and Using Remote Classes
  30. Extending YoBASIC
  31. Data Source Deployment - Storing Your Entire Site as Data
    1. Local plain text files
    2. Local JSON data Files
    3. Database or RDS
    4. Git Repository
    5. FTP/SFTP/S3/Drop Boxes
    6. Other
  32. Building a Custom Data Source for Deployment
    1. A silly but working example - Store your entire website in a Google spreadsheet
  33. Allow Other Yore Hosts to Display Your Site
  34. Create Your Own Server Side Script Engine
    1. A silly but working examples -
      1. Server-side programming with Cobol
      2. How about dBASE?