-
Notifications
You must be signed in to change notification settings - Fork 109
Docs
Andrew Powers edited this page Apr 12, 2020
·
1 revision
Plan
- Purpose Educate Factor users on how to create websites and apps. Then provide additional resources and education for advanced users.
- Deliverables Build a comprehensive and advanced documentation portal by May 1.
- Requirements Needs to be approachable and cannot be overly technical. Also there needs be a focus on types of resources that get users to their goal as fast as possible.
- Audience Web professionals who want to ship apps and websites quickly but have deadlines which prevents them from doing everything themselves.
- Assumptions Code examples are a powerful way to demonstrate functionality quickly.
- Constraints Must write everything in a two week timeframe.
Outline
-
Introduction
- Overview
- Problem solved
- Comparison Table
- Backstory
-
Core Concepts
- Concepts
- Extension Oriented
- Opinionated vs Unopinionated
- Portability
- 12 Factor Apps
- Code First
- Single Language
- Dynamic vs Static
- Extension Oriented
- Architecture
- Technology Choices
- Data Structure
- Hosting and Deployment
- Concepts
-
Building Apps
- Install and Setup
- Adding to package.json
- create-factor-app
- Configuring services (email, storage, auth, database)
- Upgrading
- App Design
- App File Structure
- Running Factor (CLI)
- Commands
- Options
- Installing Plugins and Themes
- Customizing Extensions
- settings
- overriding components
- styles
- css variables
- settings
- Using Main Files
- Function of Main Files
- Server vs App
- Loading API
- TypeScript vs JavaScript
- Advantages of TypeScript
- Interchangeability
- tsconfig, shim
- using typescript
- Meta tags and info
- Vue Meta
- Creating Pages
- Writing and Using Posts
- Data and Store
- Custom Routes and Components
- URLs and Links
- Static Assets
- Going to Production
- hosting
- deployment
- flow
- Install and Setup
-
Advanced & Extension Development
- Plugin API - Filters, Callbacks and Events
- Filters
- applyFilters
- addFilter
- pushToFilter
- Callbacks
- addCallback
- runCallbacks
- Events
- addEvent
- onEvent
- Filters
- Custom Post Types
- Defining a post type
- Mongoose Data Schemas
- Custom post settings
- Working with Posts
- Getting post indexes
- Custom Queries
- Getting a post type model
- Running custom queries
- Data Fetching and SSR
- Hydration
- Endpoints and Middleware
- What's the difference?
- Creating an endpoint
- Creating middleware
- Extending Webpack
- Adding webpack plugins
- Extend the CLI
- Adding Custom Commands
- Extending the Dashboard
- Adding Menu Items
- Adding Dashboard Pages
- Theme Development
- Setting Up
- Creating a Demo
- Code Standards
- Writing a Plugin
- Setting up
- Basic Approach
- Making Things Customizeable
- Code Standards
- Transactional Email
- Sending Email
- Custom Page Templates
- Register a page template
- Page template settings
- Embedded / Nested Documents
- Use Case
- Adding Embedded Documents
- Security
- Bearer
- Schema permissions
- Performance and Scalability
- Cacheability
- Tips & Tricks
- Plugin API - Filters, Callbacks and Events
-
API Reference
- Filters, Events and Callbacks
- Functions and Utilities
- UI Library
-
Examples and Screencasts
- Factor HackerNews - Hacker news clone built with Factor. Built to demonstrate framework functionality, no dashboard or other data features are added. Uses Firebase driven hacker news API.
-
Resources
- Logo
- Contributing