Building a Single-page application
- Source Code
- Technology
- Setting up Vagrant
- Install Perl and Dancer2
- Install Node.JS
- Dancer single file
- Create Dancer Skeleton
- Dancer Directory layout
- Dancer script and module
- Run Dancer
- Clean-up Dancer Skeleton
- Run tests
- Makefile.PL
- Dancer Test scripts
- Dancer Config file
- HTML forms
- Log form parameters
- Accessing parameters in Dancer
- Logging in Dancer
- Passing values to the template
- Template::Toolkit
- Exercise: Create reverse echo page
- Exercise: Implement a TODO list
- First Ajax example
- Add route returning JSON
- Test route returning JSON
- Page with AJAX request
- Route serving template with AJAX request
- Next step: Stand alone client
- Stand-alone AJAX client
- HTTP Access Control (CORS)
- Testing the v1 and v2 API calls
- Proxy
- Next step: Create reverse echo
- Reverse echo with AJAX and Dancer
- Test reverse echo in Dancer
- Client side of AJAX string reverse
- Refactoring Dancer app - use the before hook
- Silencing the noisy tests
- Next step: TODO list
- Add item to MongoDB (POST route)
- Test adding item to MongoDB (POST route)
- MongoDB client
- Use separate database for testing
- Fetch all the items
- Test: Fetch all the items
- Add more tests
- Add and retrieve elements using jQuery and AJAX
- Add item
- Setting up Travis-CI
- Code refactoring: _mongodb
- Deleting item: Dancer, MongoDB backend
- Test Deleting item backend
- Deleting item: client side
- Access-Control-Allow-Methods
- Add header: Access-Control-Allow-Methods
- Replace manual HTML generation by the use of Handlebars
- Handlebars code
- Add timestamp to item (back-end)
- Add timestamp to item (back-end TO_JSON)
- Monkey patching DateTime::Tiny
- Add timestamp to item (front-end)
- jQuery Tablesorter
- Add Tablesorter themes
- Add Tablesorter Date column