The Complete Elixir and Phoenix Bootcamp
Elixir and Phoenix are two of the hottest technologies of 2017. Functional Programming? You will learn it. Phoenix with OAuth? Its here. Postgres for data storage? Of course! Websockets too! This course will get you up and running with Elixir and Phoenix quickly, and teach you the core knowledge you need to deeply understand and build amazingly fast web applications.
More
We'll start by mastering the fundamentals of functional programming with Elixir, including functions, modules, and the fantastic 'pipe' operator. You'll learn how FP differs from classic object oriented programming with a variety of different practical examples. Once you have a solid understanding of Elixir, we'll discuss how to build amazingly fast applications with the Phoenix Framework with an in-depth app. Source code is provided for each lecture, so you will always stay up-to-date with the course pacing.
If you are new to Elixir, or if you've been working to learn it but sometimes feel like you still don't quite 'get it', this is the Elixir course for you! To learn Elixir and Phoenix you have to understand them.
- Learn how to use Elixir's built-in library to clean up your code
- Master the differences between functional and object oriented programming
- Grasp all of the different pieces of syntax in common Elixir programs
- Build interesting and challenging projects that have practical uses
- Develop a web app using Phoenix that can be expanded in a variety of different ways
- Go behind the scenes of Phoenix and learn how the internals work
- Master the OAuth flow by authenticating users with the Github Public OAuth service
- Practice working with databases by integrating Postgres into your app
I've built the course that I would have wanted to take when I was learning Elixir and Phoenix. A course that explains the concepts and how they're implemented in the best order for you to learn and deeply understand them.
Requirements:
Basic understanding of another programming language - Javascript, Ruby, C#, PHP, or similar
- This course is for anyone looking to learn Elixir and Phoenix
What you'll learn:
- Think with a Functional Programming mindset
- Use Phoenix to build compelling and FAST web apps
- Understand common Elixir syntax and design patterns
- Master the OAuth flow with Phoenix for authentication
- Learn the hidden secrets of Phoenix
Watch Online The Complete Elixir and Phoenix Bootcamp
# | Title | Duration |
---|---|---|
1 | How to Get Help | 02:53 |
2 | Installing Elixir | 02:01 |
3 | Project Outline | 04:06 |
4 | Generating a Project | 02:52 |
5 | Elixir Modules and Methods | 06:05 |
6 | Lists and Strings | 03:23 |
7 | Object Oriented vs Functional Programming | 09:13 |
8 | Method Arguments | 04:49 |
9 | The Enum Module | 05:55 |
10 | Immutability in Elixir | 03:58 |
11 | Searching a List | 06:03 |
12 | Comprehensions Over Lists | 07:12 |
13 | Not Everything Works the First Time | 05:03 |
14 | Solving Nested Arrays | 06:48 |
15 | Importance of Index with Tuples | 08:35 |
16 | Pattern Matching | 10:44 |
17 | Elixir's Relationship with Erlang | 05:16 |
18 | Saving a Deck | 03:53 |
19 | Pattern Matching Continued | 10:24 |
20 | Pattern Matching in Case Statements | 14:15 |
21 | The Pipe Operator | 04:24 |
22 | The Pipe Operator Continued | 04:06 |
23 | Module Documentation | 03:50 |
24 | Writing and Generating Documentation | 03:35 |
25 | Creating Function Docs | 06:19 |
26 | Introduction to Testing | 02:54 |
27 | Amazingly Productive Doctests | 03:38 |
28 | Writing Effective Doctests | 05:17 |
29 | Case Tests | 06:53 |
30 | Introduction to Maps | 04:08 |
31 | Updating Values in a Map | 07:56 |
32 | Keyword Lists | 08:22 |
33 | Project Overview | 03:44 |
34 | Identicon Generation Process | 02:34 |
35 | Identicon Generation Process Continued | 03:03 |
36 | The Main Pipeline | 03:21 |
37 | Hashing a String | 04:06 |
38 | The Purpose of the Hex List | 05:47 |
39 | Modeling Data with Structs | 06:47 |
40 | Pattern Matching Structs | 10:40 |
41 | Updating Structs | 10:09 |
42 | Building the Grid | 08:17 |
43 | Mirroring a Row | 05:10 |
44 | Mapping with Custom Functions | 06:33 |
45 | Grid Structure | 08:32 |
46 | Giving an Identicon Shape | 09:35 |
47 | Planning Image Creation | 07:42 |
48 | Creating the Pixel Map | 05:49 |
49 | Drawing Rectangles | 09:47 |
50 | Phoenix Installation | 04:11 |
51 | Postgres Setup on OSX | 06:38 |
52 | What is Phoenix? | 06:35 |
53 | App Overview | 07:18 |
54 | Into Phoenix We Go | 08:10 |
55 | Server Side Templating | 03:40 |
56 | Templates vs Layouts | 09:31 |
57 | Phoenix's MVC Model | 07:38 |
58 | Exploring the Router and Controller | 09:48 |
59 | Views vs Templates | 10:01 |
60 | The Model Layer in Phoenix | 08:29 |
61 | Migration Files | 05:29 |
62 | A Game Plan for Creating Topics | 09:46 |
63 | Routing to the Topic Controller | 07:25 |
64 | Setting Up the Topic Controller | 06:06 |
65 | Code Reuse with Import, Alias, and Use | 09:17 |
66 | Phoenix's Code Sharing Model | 08:10 |
67 | Phoenix's Conn Struct | 08:25 |
68 | A Phoenix Approach to Forms | 04:54 |
69 | The Topic Model | 03:55 |
70 | Model Changesets and Validations | 12:07 |
71 | More on Changesets | 08:28 |
72 | Generating Changesets for the Form | 06:05 |
73 | New Topic Form | 07:49 |
74 | Phoenix Template Syntax | 10:03 |
75 | Handling Form Submissions | 10:42 |
76 | A Quick Review and Breather | 08:16 |
77 | Introduction to the Repo Module | 11:59 |
78 | Handling Failed Form Submissions | 04:28 |
79 | Styling with CSS in Phoenix | 06:35 |
80 | Breaking Restful Conventions Safely | 06:44 |
81 | Using the Repo Module for Queries | 07:04 |
82 | Building Lists in EEX Templates | 06:49 |
83 | Redirects in the Controller | 08:18 |
84 | Generating Anchors with Link Tags | 12:10 |
85 | Router Wildcards | 07:58 |
86 | Setting up the Edit Form | 09:38 |
87 | Defining the Update Route | 06:49 |
88 | Editing a Topic | 11:21 |
89 | Linking to the Edit Topic Form | 06:25 |
90 | The Resources Helper | 07:01 |
91 | Deleting a Topic | 09:44 |
92 | Wrapping up TopicController | 06:59 |
93 | OAuth Overview | 06:28 |
94 | OAuth Setup with Ueberauth | 07:51 |
95 | Creating a Github OAuth App | 09:53 |
96 | Defining OAuth Routes | 11:58 |
97 | Receiving User Info From Github | 09:42 |
98 | Users Migration | 07:41 |
99 | Digesting the OAuth Response | 07:01 |
100 | The User Changeset | 08:03 |
101 | Creating New Users | 07:49 |
102 | Our Auth Grand Plan | 07:09 |
103 | Handling OAuth Success | 07:30 |
104 | Introduction to Plugs | 12:45 |
105 | Using a Module Plug to Set the User | 11:45 |
106 | Implementing Module Plugs | 09:03 |
107 | Allowing Users to Signout | 10:28 |
108 | Restricting Access of Users | 05:49 |
109 | The Require Auth Plug | 13:05 |
110 | Controller Scoped Plugs | 04:24 |
111 | Associating Users with Topics | 06:57 |
112 | Altering Existing Tables | 02:28 |
113 | Playing Around with Associations | 09:08 |
114 | Using the Build Assoc Function | 08:36 |
115 | Finalizing the Association | 03:04 |
116 | Checking the Topics Owner | 12:11 |
117 | Introduction to Websockets | 04:18 |
118 | Showing Individual Topics | 06:41 |
119 | Making the Comments Migration | 03:52 |
120 | The Comments Model | 03:46 |
121 | Overview of Channels in Phoenix | 06:14 |
122 | Introducing the Comments Channel | 10:20 |
123 | Making Progress with Sockets | 09:11 |
124 | Quick Breather and Review | 07:29 |
125 | Publishing Messages | 07:30 |
126 | Figuring Out What Topics to Show | 05:08 |
127 | Refactoring to Determine Topic Id | 09:08 |
128 | Fetching Topics on Join | 05:41 |
129 | Debugging Topic Fetching | 02:45 |
130 | Building the Comment Form | 05:54 |
131 | Inserting Comments into the Database | 07:58 |
132 | Remaining Items with Sockets | 04:57 |
133 | Poison Encoder | 08:42 |
134 | Rendering a List of Comments | 08:25 |
135 | Broadcasting Updates | 06:45 |
136 | Updating the Client | 06:16 |
137 | The Socket Event Object | 03:08 |
138 | Authentication with Sockets | 07:53 |
139 | Transporting Tokens to the Server | 04:51 |
140 | Verifying the Current Socket User | 04:42 |
141 | Associating Comments with Users | 05:18 |
142 | Fetching Users with Comments | 08:02 |
143 | Rendering Associated Users | 03:57 |
144 | New in Phoenix 1.3 | 03:42 |
145 | CLI Command Changes | 03:26 |
146 | Assets Folder Changes | 04:13 |
147 | Directory Structure Changes | 05:20 |
148 | Contexts | 07:49 |
149 | More on Contexts | 12:31 |