Description
In this course, you will learn :
- Elixir web programming
- Real time web application development
- Using Websockets in Elixir
- Developing an E-commerce website using Elixir and Phoenix
Syllabus :
1. Getting Started with Phoenix
- Layers of a Real-Time System
- Types of Scalability
- Achieving Real-time in Elixir
2. Powering Real-time Applications with Phoenix
- Creating a Simple WebSocket
- Connecting Our First WebSocket
- Loading Our First WebSocket
- Testing WebSocket Connection
- Upgrading WebSocket Connections
- Maintaining WebSocket Connections
- Predecessor to WebSockets
- WebSockets and Phoenix Channels
3. First Steps with Phoenix Channels
- What are Phoenix Channels?
- Understanding Channel Structure
- Implementation of a Channel
- Channel Error Handling
- Dynamic Topics
- PubSub
- Receive Messages
- Send Messages
- Channel Clients
- JavaScript Client
4. Restrict Socket and Channel Access
- Why Restrict Access?
- Add Authentication to Sockets
- Different Types of Tokens
- Add Authorization to Channels
- Use Authentication from JavaScript
- When to Write a New Socket
5. Dive Deep into Phoenix Channels
- Design for Unreliable Connections
- Use Channels in a Cluster
- Customize Channel Behavior
- Deduplicate Outgoing Messages
- How to Write Tests
- Testing Our Wildcard Channel
- Testing DedupeChannel
6. Avoid Performance Pitfalls
- Measure Everything
- Collect Measurements using StatsD
- Keep Channels Asynchronous
- Build a Scalable Data Pipeline
- GenStage-powered Pipeline
- Adding Concurrency and Channels
- Measuring our Pipeline
- Test Our Data Pipeline
- The Power of GenStage
7. Build a Real-time Sneaker Store
- From Product Requirements to a Plan
- Setting Up the Project
- Render Real-time HTML with Channels (Back-end)
- Render Real-time HTML with Channels (Front-end)
- Update a Client with Real-time Data
- Run Multiple Servers
- Verify Multiple Server Behavior
8. Break Your Application with Acceptance Tests
- The Power of Acceptance Testing
- Break Our Application Like a User
- Break Our Application Like a Server
- Automate Acceptance Tests with Hound
- Write Automated Acceptance Tests
9. Build a Real-time Shopping Cart
- Planning Our Shopping Cart
- Setting Up Our Project
- Scaffold Our Shopping Cart Channel
- Build Our Shopping Cart Channel
- Add Items to Our Cart
- Synchronize Multiple Channel Clients
- Add Real-time Out-of-stock Alerts
- Acceptance Test the Shopping Cart
10. Track Connected Carts with Presence
- On Track with Phoenix Tracker
- Use Tracker in an Application
- Phoenix Tracker vs. Presence
- Scaffold the Admin Dashboard
- Track Shopping Carts in Real-Time
- Update Shopping Carts in Real-time
- Assemble the Admin Dashboard
11. Deploy Our Application to Production
- Achieve Scalability with Load Balancing
- Cluster Your BEAM Nodes Together
12. Manage Real-time Resources
- Manage Our Application’s Memory Effectively
- Inspect a Running Application
13. Hands-on with Phoenix LiveView
- Getting Started with LiveView
- Build a LiveView Product Page
- Write Tests for a LiveView
14. Single-page Applications with React
- Manage Channel State in React
- Write Channels as Components
- Hands-on with React
- React Native Channels