Create GraphQL API in Elixir. The language which powers, in one way or another (ErLang) Whatsapp, Discord, Pinterest etc.
We will be using Phoenix Framework, the fantastic MVC framework for developing backends and full stack projects in Elixir. Consider Phoenix more like Express of Node.js but way more cooler of course. Well, Elixir altogether is cooler than any other language I code but nevertheless, one thing at a time.
Architecture
Users
Register User
Login
Get Authenticated User
Logout
Rooms
Create Rooms
Get All Rooms
Delete Room and all of it's messages
Messages
Post Messages (persisted to db) to a particular room.
Subscribe to a particular room to get the newly posted message notifications in real time.
Pagination
Cursor Based Pagination for fetching messages so that we don't give back all the messages of a room at once (which could be of thousands of number as you can imagine).
Protected Routes
Implement private routes to maintain an access control list => what can be accessed and what not. For example, a non authenticated user (guest) should not have access to the following apis
Create Room
Post Message to a Room
etc...
Insomnia & GraphQL Playground
Test the API with Insomnia & GraphQL Playground (For testing Subscriptions), along the way, while developing each route.
A lot more
We will be learning a lot more than written, about Elixir, Phoenix, GraphQL, and creating APIs altogether.
201
15
TAKE THIS COURSE