Building a Single-page application


  1. Source Code
  2. Technology
  3. Setting up Vagrant
  4. Install Perl and Dancer2
  5. Install Node.JS
  6. Dancer single file
  7. Create Dancer Skeleton
  8. Dancer Directory layout
  9. Dancer script and module
  10. Run Dancer
  11. Clean-up Dancer Skeleton
  12. Run tests
  13. Makefile.PL
  14. Dancer Test scripts
  15. Dancer Config file
  16. HTML forms
  17. Log form parameters
  18. Accessing parameters in Dancer
  19. Logging in Dancer
  20. Passing values to the template
  21. Template::Toolkit
  22. Exercise: Create reverse echo page
  23. Exercise: Implement a TODO list
  24. First Ajax example
  25. Add route returning JSON
  26. Test route returning JSON
  27. Page with AJAX request
  28. Route serving template with AJAX request
  29. Next step: Stand alone client
  30. Stand-alone AJAX client
  31. HTTP Access Control (CORS)
  32. Testing the v1 and v2 API calls
  33. Proxy
  34. Next step: Create reverse echo
  35. Reverse echo with AJAX and Dancer
  36. Test reverse echo in Dancer
  37. Client side of AJAX string reverse
  38. Refactoring Dancer app - use the before hook
  39. Silencing the noisy tests
  40. Next step: TODO list
  41. Add item to MongoDB (POST route)
  42. Test adding item to MongoDB (POST route)
  43. MongoDB client
  44. Use separate database for testing
  45. Fetch all the items
  46. Test: Fetch all the items
  47. Add more tests
  48. Add and retrieve elements using jQuery and AJAX
  49. Add item
  50. Setting up Travis-CI
  51. Code refactoring: _mongodb
  52. Deleting item: Dancer, MongoDB backend
  53. Test Deleting item backend
  54. Deleting item: client side
  55. Access-Control-Allow-Methods
  56. Add header: Access-Control-Allow-Methods
  57. Replace manual HTML generation by the use of Handlebars
  58. Handlebars code
  59. Add timestamp to item (back-end)
  60. Add timestamp to item (back-end TO_JSON)
  61. Monkey patching DateTime::Tiny
  62. Add timestamp to item (front-end)
  63. jQuery Tablesorter
  64. Add Tablesorter themes
  65. Add Tablesorter Date column