Preface
- Bug reporting
Changes
- v0.38 2017-12-03
- v0.37 2017-09-03
- 2017-08-05
- 2017-07-09
- 2017-07-08
- 2017-06-29
- 2017-06-21
- 2017-06-19
Supporters
Contributors
Hello Perl 6!
- What are Perl 6, Rakudo, and Rakudo Star?
- Community
- Installing Perl 6
- Install and set up Rakudo Star
- Install Rakudo on Linux
- Development environment using Vagrant
- “Hello World” on the command line
- “Hello World” in a plain program
Hello, world!
- What is Bailador?
- History of Bailador
- Contributors of Bailador
- Community
- Install Bailador
- “Hello World” with Bailador
- Troubleshooting
- Hello World with skeleton
- Testing the “application” so far
- Adding to Git
- Setting up Continuous Integration using Travis-CI
- Auto reloading Bailador when files are changed
- Errors in the code
- Development mode
Deployment
- Configuring Nginx as a reverse proxy
- Configuring Apache as a reverse proxy
- Using Docker
- Deploying on Ubuntu
Database access
- Database access from Perl 6
- Command line program to access the database
- CRUD (Create, Read, Update, Delete) from the command line
- Configuring MySQL
- Configuring PostgreSQL
- Use SQLite
User Input
- Echo with Bailador
- Counter that stores the count in a text file.
- Processing forms
- Input validation
- Counter that stores the count in a database.
Chapter 5 - Sessions
- Cookies
- Session management
Chapter 7 - API and Ajax
- Traditional web sites and Single Page Applications
- Full stack developer
- API and client-server programming
- AJAX - interaction between the client and the server.
- Data Serialization - Marshalling
- JSON - JavaScript Object Notation
- Creating an API that returns JSON
- Echo
- Calculator
- Client side in plain JavaScript
- Client side in JQuery
- RESTful API
- Simple calculator using Ajax with JQuery
Chapter 8 - Routing
- Setting up simple routes
- Routes with parameters
- Routes with wildcards
- Responding to GET request
- Responding to POST requests
- Request and Response objects
Chapter 9 - Templating system
- Mobile friendly - Make the HTML mobile friendly.
- Template::Mojo, the Templating System of Bailador
- Passing data to the templates
Chapter 10 - Handling errors while serving pages
- Handling 404 errors
- Handling 500 errors
- Handling 30x redirects
- Setting the HTTP header manually
- Debugging
Chapter 11 - Serving static files
- Serving static files such as images, css, JavaScript files
- Generating robots.txt
- Generating sitemap.xml
- Generating RSS and Atom feed
NoSQL
- Using Memcached
- Using MongoDB
- Inspect manually and delete the MongoDB database
- Using Redis
Applications
- Personal Bookmark manager
- URL shortener
- TODO list
- Blog engine
- A job board
- Real estate manager
- Flight ticket vendor for low-cost flights
- Banner ads rotator
- Conference organizer
- Gradual development
Cookbook
- Sending e-mail
- Hashing Passwords and verifying them
- Verify a password
- Registration process with double-opt-in
- Change Password (when logged in)
- Reset forgotten password process
- IP based access restriction (2-step verification with e-mail)
- Secure initial configuration of web application
- Uploading files (e.g. images)
- Rate limit
Appendix
- What files were installed by a module