The DockYard Academy curriculum is an open source Elixir curriculum built with Livebook. We're proud to offer our open-source curriculum free of charge for anyone to learn from at their own pace.
We also offer a paid course where you can learn from an instructor alongside a cohort of your peers. Applications will be accepted soon.
Email the instructor Brooklin at [email protected] or direct message @BrooklinJMyers on Twitter if you would like more information.
- Install Elixir
- Install Livebook
- Install Postgres (optional to get started)
- Install Phoenix (optional to get started)
- Setup WSL with Visual Studio Code (Windows Users Only)
- Optionally Install asdf to manage elixir and erlang versions.
While we strongly recommend the Visual Studio Code editor for its LiveShare capability, you may use any code editor you prefer.
Download and extract the Latest Release source code zip file.
Open the extracted curriculum
folder in Livebook and open the start.livemd
file to see all project lessons and exercises.
Optionally Create a GitHub Repository and follow the instructions on GitHub to manage your downloaded curriculum
with Git and GitHub.
See the Troubleshooting Guide if you encounter issues setting up the curriculum.
Our program is designed to produce highly qualified Elixir developers. Upon completion, students will possess a thorough understanding of Elixir fundamentals, project development using Elixir and Phoenix, LiveView, and OTP. They will have the expertise and problem-solving skills necessary to tackle complex coding challenges and continue to grow and excel in their careers. Graduates will be well-equipped to deliver idiomatic and well-tested features to production codebases.
See start.livemd for a full breakdown of our lessons and exercises.
- Course Tools
- Basics
- Data Structures And Intro To Pattern Matching
- Control Flow And Abstraction
- Modules And Structs
- Enumeration
- Comprehensions And Non-Enumerable Data Types
- Built-in Modules
- Reduce
- Dates And Time
- String Manipulation
- Elixir Build Tooling
- Testing With ExUnit
- ExUnit With Mix Projects
- Documentation And Static Analysis
- Executables
- Advanced Pattern Matching
- Guarding
- Protocols
- Recursion
- Persistence Using The File System
- Processes
- GenServers
- Asynchronous Messages
- Supervisor Basics And Fault Tolerance
- Mix Projects And Processes
- Concurrency With Tasks
- Capstone Project
- HTML And CSS
- APIs And Parsing JSON
- Phoenix
- Tailwind
- Ecto Changesets
- Group Project Blog
- Phoenix And Ecto
- Testing Phoenix
- Schemas And Migrations
- Phoenix And Ecto One-to-Many Associations
- Seeding
- Phoenix Forms
- Phoenix Authentication
- Phoenix And Ecto Many-to-Many Relationships
- Phoenix And Ecto One-to-One Relationships
- Deployment
- Group Project Presentation
- LiveView
- LiveView And Ecto
- LiveView Image Uploads
- PubSub
- LiveView JS Interoperability And Pagination
- Emailing, Swoosh, And Oban
- Performance Optimization
- Benchmarking And Performance
- Streams
- State Management With Agents And ETS
- Metaprogramming
- Double-Ended Queues
- Worker Pools
- Rubix Cube Project