anandpotukuchi

anandpotukuchi

I’ve been tossing an idea for a free and open-source platform to learn Elixir and Phoenix. Something like freecodecamp. I’ve been through codeschool and a couple of other material, but none of them turns out to be open-source. And none of them provide a full insight into all the features and benefits nor step-by-step learning for the complete beginner. Some people have a problem with reading the docs and getting started, so I was thinking of a project-based approach. We could have the people build projects, you know after completing the lessons.

Please let me know what you think of this. A few pointers n getting started might also help.

Showing Posts 1 to 10

AstonJ

AstonJ

Can you provide more details about what you mean please? There’s very little info at freecodecamp without signing up an account.

We already have some great free resources too - and so you might find it would be easier to help out with those projects than having to create a whole new resource from scratch. Take a look:

You could for instance, suggest/work on a codeschool type interface for elixirschool :slight_smile:

anandpotukuchi

anandpotukuchi OP

Freecodecamp uses the MERN stack to turn a complete beginner to programming into a full stack developer. A series of challenges in an interactive code editor with projects along the way, FCC starts off with the basics of front-end development and slowly progressing to libraries and frameworks like jQuery, React and Redux. There’s a front-end cert- free of cost, followed by data manipulation and visualization. In the end comes back-end development - Node and Express. The wrap-up is a set of interview prep material and extra projects to build a vast portfolio.

I wanted to build something on the same lines using Vue as a front-end course and E/P for backend cert. Another similar project is theOdinProject - uses rails.The difference is TOP provides only links to the resources and not the content itself.

In comparison, FCC has a million learners while TOP has 50K, reason being people want to be spoon-fed.

Elixirs’ the new thing- now is the time we build something like this- more people will benifit from it now.

anandpotukuchi

anandpotukuchi OP

@AstonJ I checked out Elixir School. It just looks like a guide. I want to build a thing that has challenges and really gets the concept rooted in in the learner’s mind and make them industry-ready.

nsuchy

nsuchy

At the moment, I haven’t seen a freeCodeCamp like website for learning Elixir. Maybe someone will make one in the future.

anandpotukuchi

anandpotukuchi OP

This thread is to get everyone interested in developing such a platform. I’m looking for feedback on what people think of it.

BarelyFunctional

BarelyFunctional

@anandpotukuchi You have a good idea!

One way I have imagined people learning Elixir, Phoenix, and the OTP is to have a version of Phoenix that allows devs to see:

  1. All routes, modules, functions/actions, etc from the default mix phx.new as well as any that they create or modify thereafter - within the app eg phoenix app they are running.

  2. A visual ‘nodal’ representation of code - similar to a visual sql editor - where a dev can see how modules are linked and even functions, and even layout architectures this way.

  3. Exercises based on 1 (and perhaps 2) - eg how to transform data from module to another. The simplest approach would be for this to be multiple choice - with answers provided and results depending on successful choice, and the more complex, allowing devs to write code within the browser to see how it changes the codebase or app.

Perhaps they’re fanciful ideas, but I often feel it’s great to have the IEx on the command line, but this appears to feel to isolated to someone starting in Phoenix or with a mix app that’s focused on a web app, and I can see this approach working for accessing IEx via the browser too.

Some of the tools/packages exist to cobble the above ideas together, for example, there’s a debug bar somewhere and I’ve also seen reference in these forums to a package that allows a dev to see all controllers etc in an existing app.

I guess, if I had to sum up the idea, it would be a meta/learning version of phoenix/mix that allows exercises to be added to it, completed in a visual way, that teach basic functional and elixir concepts to, as you write, developing basic apps.

anandpotukuchi

anandpotukuchi OP

@BarelyFunctional Yeah, sounds cool. Yeah, we could integrate them into one idea. Thanks for your feedback. Will keep in mind when designing the curricukum.

radar

radar

Thanks @AstonJ for linking to Joy of a Elixir :slight_smile:

Hi @anandpotukuchi. Joy of Elixir, while not yet finished, sounds a lot like your idea. The plan is to take people through Elixir from scratch (no programming experience) and end with them completing a test-driven-design project compiled with Mix.

If you at all had a chance to read through the book and to provide feedback on it that would be most welcome :slight_smile: it seems like you already have a lot of good ideas.

amnu3387

amnu3387

I like the idea - I’ve meant to start writing about Elixir/Phoenix & Vue together as I feel they make an excellent package but in the meanwhile I’m focused on first finishing the game I’m developing with them and once that is done creating a series of articles going through creating a similar thing.

I could contribute code related to that. I think a game is excellent because it touches many of the relevant points, in this case:

  • assets organization & compilation, specially now that Phoenix ships with Webpack support out of the box it’s a great way to show how easy it is to set it up for Vue (or others)
  • Templating, Views, Controllers - Sessions (Phoenix Tokens), Registrations (Ecto)
  • Some of Erlangs powerful abstractions, GenServers & ETS along with Elixir’s Ecto (to serve games, allow easy fetching of game information/matching of players/queues & to persist them in case of failure)
  • Channels as ways of connecting users to these resources and transporting information from the back-end to the front-end in a seamless manner
  • Elixir’s basic modules (enum, list, etc) to manipulate data structures and pattern matching in order to create a small game engine
  • Vue as a modern front-end tool to generate and organise code, specially using Vuex as a central “brain”
  • Release and Deployment

There’s plenty of other important things that I have no experience in like distribution, and others like tests where my experience is minimal - but this would already be some interesting content.

anandpotukuchi

anandpotukuchi OP

@nsuchy That’s what I meant. Why don’t we as a community build something for beginners?

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 94592 917
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
heathen
Quite interesting article Google brought me. Didn’t find any mentions about it here. What do you think in general? Would you use togethe...
New
AstonJ
Since we have deprecated our Erlang sections (as we have dedicated Erlang Forums now) let’s add this thread for those who’d like to post ...
New
maennchen
:warning: Security advisory: Decimal DoS vulnerability A vulnerability has been published for decimal where very large exponents can cau...
New
Null-logic-0
What IDE or editor are you using for Elixir development? Personally, I use Zed, and I really like it, but sometimes I wish there were a ...
New

Other Trending Topics Top

marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New
webofbits
Aludel - LLM Evaluation Workbench Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews