To help you learn the ropes, we'll build a discussion application similar to Discord, Slack, and the like. We'll call it eelchat.
In eelchat, users can create communities, each of which has a collection of channels for text chat. Channels can only be created and deleted by the user who created the community (i.e. the admin). The admin can also add RSS subscriptions to channels, so new posts will be displayed.
We'll leave a handful of features unimplemented, so after you finish the tutorial, you can get some practice implementing them on your own.
All the code can be found on GitHub.