You're now at the end of the course, but hopefully just at the beginning of your Elixir career! To wrap things up, we'll go through some links that you can visit to keep developing your skills.
If you want to enhance the current Messengyr project, here are some ideas on features that you could implement in order to practice:
Group chats: We already have a database structure that could handle this. What's left is the UI and business logic for adding more users to a room.
Sending media: In a modern chat application, you should obviously be able to send more than just text. You could for example let the users share gifs via Giphy's API, or implement file uploading.
A better way of creating rooms: The prompt window that we're currently using is pretty ugly, and not very user-friendly. The best thing here would be to have a special input component that suggests a list of users, so that you don't accidentally try to add a username that doesn't exist. You can always check out Facebook's Messenger for inspiration.
New challenges and resources
Advanced Elixir & Erlang
Since Elixir leverages the Erlang VM, there's still tons to learn about the ecosystem in general that will help you (also, many of Elixir's top libraries are actually written in Erlang)! To get started with Erlang, you can check out the Learn You Some Erlang website, and if you want to go back to polish your Elixir skills, I recommend the book "Elixir in Action"!
In this course, we used React and Redux to build our UI, but another frontend framework that I highly recommend is Ember.
Ember is what Dockyard (the company that employs Chris McCord, the creator or Phoenix) uses, and I often use it myself for more "ambitious" applications. Check out my "Discover Ember" course on Ludu to learn more!
Keeping up with the community
Both Elixir and Phoenix have very ambitious goals, and the ecosystem around them changes as developers discover new best practices. To stay on track, here are some helpful communities where you can follow the news and get help:
Elixir on Slack (which also includes a
awesome-elixir (a curated list of Elixir and Erlang libraries that you can use for your next project)