shankardevy

shankardevy

Phoenix Inside Out (series of books/booklets) (self-published)

I am happy to announce that I am completing final rounds of my Phoenix book (which is now a series of books/booklets).


###Mastering Phoenix Framework

####Chapter 1 - Getting Started
Get introduced to Phoenix and learn Phoenix conventions, use of View modules, control flow for a simple page.

####Chapter 2 - Just Enough Elixir
Learn minimal Elixir that’s just enough to work with Phoenix. Covers general expectations on Elixir language, Data types, Operators, Control structures, Modules and functions, OTP basics, Pattern matching

####Chapter 3 - Kickstarting Mango
Setting up TDD and introduction to Hound

####Chapter 4 - Product Catalog
Learn to create dynamic pages, introduction to Ecto and import seed data from CSV file.

####Chapter 5 - Register, Login, Logout
Learn Ecto migrations, Ecto.Changeset, router pipeline, Phoenix HTML form helpers, writing module plugs and testing plugs.

####Chapter 6 - Cart
Learn new concepts Ecto Embedded schema and associations and revisit all of the knowledge gained in Chapter 5 to create a full fledged cart with AJAX functionality.

####Chapter 7 - Checkout
Learn to refactor routes for authenticated and unauthenticates routes, Ecto migrations for modifying existing schema and table, use of multiple changesets for a single schema.

####Chapter 8 - My Profile and Preference
Learn Phoenix CRUD generator mix task phx.gen.html and why not to use them for most cases. Learn how to use Gettext for translating interface language.

####Chapter 9 - Admin I
Learn how Phoenix.Token and how to generate and validate tokens. Create a passwordless login using Phoenix Token and learn to create and use function plugs.

####Chapter 10 - Admin II
Explore how to customize the phx.gen.html generator templates and an introduction to multiple sources of truth with Phoenix Context.

####Chapter 11 - Mango Robot
Learn basics of Channel communication and the various components involved in creating Phoenix channels. Learn to authenticate channels using Phoenix Token and use socket to persist data across multiple messages to the server.

####Chapter 12 - Deployment
Learn to deploy in Ubuntu server using

  1. Mix
  2. Distillery Release
  3. Distillery Release with Docker

Total number of pages: 376 (in PDF format)
Available Format: PDF, EPUB, MOBI

See posts in this thread for details on the others :slight_smile:


Learn more at: Phoenix Inside Out Book by Shankar Dhanasekaran

Most Liked

shankardevy

shankardevy

Excited to announce that I have launched the full release of Phoenix Inside Out series.

Currently it contains 3 books and 1 booklet. Read more here.

shankardevy

shankardevy

As an update to my Phoenix Inside Out book, I am happy to announce that a demo site is now available at http://mango.shankardevy.com

This is exactly the same commerce site that you will learn to build when you read my book Phoenix Inside Out apart from learning to build a mini-Phoenix framework and learning Practical Ecto.

Looking forward to your comments!

sinanto

sinanto

I’m an early buyer of Shankar’s books. First of all, he made me understand what “context” is all about. Garuda was a real surprise and quite enlightening. Ecto, clarifies a lot of things. And Phoenix book has every little detail about developing an ecommerce site. I bought the “Coach Edition” and get excellent support from him. Highly recommended, 5 stars.

ezero

ezero

I picked up the Complete Edition a little more than a week ago and have been trying do read a little bit every day. I have read 7 chapters of the first book so far (Mastering Phoenix Framework) and the learning process has been great.

Here are some highlights:

  • Great Elixir chapter. The decision to include a chapter on Elixir was one of the biggest selling points for me. I have read plenty recommendations to understand Elixir before Phoenix. But all of Elixir is a lot… Shankar did a great job of creating a condensed walkthrough of Elixir before diving into Phoenix. I’m super thankful for this.

  • Bite-sized progress. Adopting TDD (Test driven development) and XP (extreme programming) philosophies, each new topic is presented in a scope that is fun and digestable. Throughout the book, you gradually gather a listing of building blocks that help you construct a solid foundation in understanding Phoenix.

  • Rinse and repeat. From chapter 4 onwards, each chapter has a focused topic and goal. On a macro level however, most chapters guide you through the same cycle. From the acceptance test to the router to the template… and teaching topics like Context, Plug, and Ecto along the way. You really start to get a good grasp of the Phoenix architecture pretty fast.

and some constructive feedback:

I have noticed some typos here and there. The ones found inside code examples stumbled me a few times. There has also been discrepencies between the code examples in the book and the ones in the linked gists. It may help looking into using scripts to generate the code examples to help ensure their correctness.

Depite the typos, I would still highly recommend the books. I have actually already reported the typos that I have encountered to Shankar, who has been nothing but kind and appreciative in his replies.

I was actually hoping to work through the entire first book and write a full review on it. Due to time constraints however, I need to prioitize things a bit in the near future. Selfishly, I actually want to take what I have learnt so far and start using Phoenix to work on a hobby project. In the mean time I have taken a quick glance through the rest of the book and series and I definitely would want to use it as a developer reference in the future. I also need to cheat a bit and skip forward to read the chapter on Channel communications soon…

Ankhers

Ankhers

It is nice to see more books coming out.

Would you be able to tell us what differentiates your book from the official Phoenix book?

Where Next?

Popular in Books Top

PragmaticBookshelf
Kevin Hoffman edited by Kelly Talbot @KellyTalbot Reality is event-sourced; your mind processes sight, sound, taste, smell, and touch to...
New
meraj_enigma
New book from Packt publication that goes into teaching how to write a web framework using Elixir. About this book Elixir’s functional...
New
AstonJ
by Saša Jurić Elixir in Action teaches you to apply the new Elixir programming language to practical problems associated with scalabilit...
New
AstonJ
by Fred Hebert This book intends to be a little guide about how to be the Erlang medic in a time of war. It is first and foremost a col...
New
AstonJ
by Wolfgang Loder Learn and understand Erlang and Elixir and develop a working knowledge of the concepts of functional programming that...
New
AstonJ
By Simon St. Laurent If you’re new to Erlang, its functional style can seem difficult, but with help from this hands-on introduction, y...
New
kokolegorille
by Ulisses Almeida Elixir’s straightforward syntax and this guided tour give you a clean, simple path to learn modern functional program...
New
peerreynders
Don’t forget you can get 35% off the ebook using the code: devtalk.com :023: Note: Check out this thread for help running code in lat...
New
AstonJ
A short and personal history of the book I, Erik Stenman (Happi), started writing this book back in 2013. At first I was thinking of sel...
New
AstonJ
by by Fred Hebert Erlang is the language of choice for programmers who want to write robust, concurrent applications, but its strange ...
New

Other popular topics Top

9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
fireproofsocks
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
yawaramin
In the Dialyzer docs ( http://erlang.org/doc/man/dialyzer.html#requesting-or-suppressing-warnings-in-source-files ), there is a way to tu...
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
script
If I have a string “1000 cfu/ml” . I want to remove the characters and / and space . So the string is like this "1000" What is the ...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New

We're in Beta

About us Mission Statement