Getting Started
Request handling
- Routing
- Action Controller
- Resources
- Context
- Request Binding
- Middleware
- Error Handling
- Sessions
- Cookies
Frontend
Database
- Getting started with Pop
- Soda CLI
- Database Configuration
- Buffalo Integration
- Models
- Generators
- Migrations
- Fizz
- Mutations
- Querying
- Raw Queries
- Callbacks
- Scoping
- Associations and Relationships
- One to one associations
- One to many associations
Guides
- API Applications
- File Uploads
- Background Job Workers
- Mailers
- Tasks
- Plugins
- Local Authentication
- Third Party Authentication
- Events
- Go Modules
- Localization
- Logging
- Template Engines
- Testing
- Videos
Deploy
Documentation
Overview
Welcome aboard!
While Buffalo can be considered as a framework, it’s mostly an ecosystem of Go and Javascript libraries curated to fit together. Most of these components can be switched for another, but we’ll only provide support for this default mix.
In this chapter, we’ll make a tour of the default bricks shipped with your Buffalo app.
Backend libraries
buffalo
Buffalo is the “glue” between all the provided components. It wraps the libraries and manages the workflow.
gorilla/mux
gorilla/mux is one of the most used routers in Go. While some routers are faster (like httprouter), gorilla/mux is the one providing the most features while being fast enough.
pop
pop is the default ORM for Buffalo. It provides the soda
toolbox to help you with your database needs and supports several databases, such as PostgreSQL, MySQL and SQLite.
plush
plush is the default templating engine for Buffalo. Its syntax is close to ERB templates (in Ruby).
Frontend libraries
Bootstrap
Bootstrap is one of the most famous frontend toolkit library. It helps to build responsive interfaces using common components like tables, carousels or grid layouts.
jQuery
jQuery is a rich library aiming to make DOM manipulation and AJAX queries simple. While it’s less used now, many projects still have it as a side-companion to help supporting all the browsers.
Webpack
Webpack is a well-known Javascript assets bundler. It will take care of your Javascript, CSS, images and static assets files.
Webpack is configured by default to hash and minify your assets.
Next Steps
- Installation - Install Buffalo!