Skip to content

πŸŽ“ Complete Elixir programming course from zero to expert. Learn functional programming, OTP, Phoenix web development, and build scalable applications. Perfect for modern developers.

Notifications You must be signed in to change notification settings

AlejandroOliva/elixir-course

Repository files navigation

πŸŽ“ Complete Elixir Course - From Zero to Expert

Welcome to the complete Elixir course! This course will take you from basic concepts to building web applications with Phoenix.

πŸ“š Course Index

  • What is Elixir?
  • Why Elixir?
  • Installing Elixir
  • Interactive Elixir (IEx)
  • Basic syntax
  • Data types and structures
  • Pattern matching
  • Functions and modules
  • Pipe operator
  • Control flow
  • Processes and concurrency
  • Message passing
  • OTP basics
  • GenServer introduction
  • Supervision trees
  • What is Mix?
  • Creating Mix projects
  • Project structure
  • Dependencies with Hex
  • Testing with ExUnit
  • Building a CLI application
  • What is Phoenix Framework?
  • Installing Phoenix
  • Creating your first Phoenix project
  • Understanding MVC in Phoenix
  • Ecto basics
  • Routes and controllers
  • Views and templates
  • Working with databases (Ecto)
  • LiveView basics
  • Real-time features
  • Building a complete web application
  • Progressive exercises
  • Real projects
  • Commented solutions

πŸš€ How to Use This Course

Option 1: Using Containers (Recommended)

Each module has a pre-configured container environment:

# Build and run the development container
cd containers
podman build -f Dockerfile.dev -t elixir-course-dev .
podman run -it --rm -p 4000:4000 -p 5432:5432 elixir-course-dev

# Or use the multi-service setup
podman-compose up -d

Option 2: Local Development

  1. Read each module in order - The course is designed to be progressive
  2. Practice each example - Run all code in your terminal or IEx
  3. Do the exercises - Practice is fundamental
  4. Get extra practice - Use Exercism's Elixir Track for 90+ exercises with free mentoring
  5. Experiment - Don't be afraid to try variations

πŸ“‹ Prerequisites

  • Basic programming knowledge (any language)
  • Command line/terminal familiarity
  • Elixir 1.14+ and Erlang/OTP 24+ installed (see Module 1 for installation)
    • Recommended: Use asdf version manager for easy Erlang and Elixir management
  • Willingness to learn 😊

🎯 Course Objective

Upon completing this course, you will be able to:

  • βœ… Write Elixir code confidently
  • βœ… Build Mix projects
  • βœ… Understand concurrent programming
  • βœ… Create web applications with Phoenix
  • βœ… Work with databases using Ecto
  • βœ… Apply functional programming principles

πŸ“– Let's Begin

πŸ‘‰ Go to Module 1: Introduction to Elixir


πŸ“š Reference Guides


πŸ’» Practical Examples

The examples/ directory contains ready-to-run projects:

  1. Simple Mix CLI (examples/01-mix-cli/)
  2. Task Manager API (examples/02-task-api/)
  3. Phoenix Web App (examples/03-phoenix-webapp/)

Teacher: Remember that practice is the key to learning! Don't hesitate to experiment and make mistakes.

About

πŸŽ“ Complete Elixir programming course from zero to expert. Learn functional programming, OTP, Phoenix web development, and build scalable applications. Perfect for modern developers.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published