dwyl / dwyl/phoenix-chat-example
Task: Update Tutorial from Phoenix `v1.7.x` to `1.8.x` ⬆️
- Dominant language
- Elixir
- Stars
- 819
- Forks
- 96
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 4
Description
With the recent release of [`Phoenix v1.8.5`](https://www.phoenixframework.org/blog/phoenix-1-8-released)
Now is a good time to update this tutorial to the latest version including the new files that are created by the generator.
It's a good opportunity for us to see the differences between `1.7` and `1.8` in a more detailed project.
> **Note**: at the time of writing, the Chat App is _already_ using `v1.8`:
https://github.com/dwyl/phoenix-chat-example/blob/4a1a3a39c259a85467b227b4a4f356f17ceda214/mix.exs#L45
https://github.com/dwyl/phoenix-chat-example/blob/4a1a3a39c259a85467b227b4a4f356f17ceda214/mix.lock#L29
But the _instructions_ and several files are not the latest & greatest.
# Todo
+ [ ] `git clone` this project to your `localhost` and rename it to `phx-chat-OLD`
+ [ ] use this "old" version as the basis for creating the new one, but ...
+ [ ] `git clone` the project _again_ and then ***`DELETE`*** all the code in the directories and `mix.exs`/`mix.lock` file:
+ [ ] Create a new branch on your `localhost` e.g. `phx-1.8-issue#X` and
+ [ ] Follow the instructions in the `REAMDE.md` to create a new app from scratch.
+ [ ] Please remember to exclude all the noise that we don't need in a demo app like this e.g:
```sh
mix phx.new chat --no-mailer --no-dashboard --no-gettext
```
We _really_ don't need all the noise from constant @dependabot updates for `deps` we aren't using in the example! ⏳
> **Note**: this tutorial will ***NOT*** use `LiveView`.
We have a different one for that: https://github.com/dwyl/phoenix-liveview-chat-example
That is deliberate. We still use "MVC" (even though `Phoenix` has removed the "V" ... https://www.germanvelasco.com/blog/phoenix-1-7-is-view-less ... 🙄 )
So we want `this` tutorial to continue to showcase the "controller" workflow even if we use `LiveView` in some other places.
I have _zero_ intention of using `LiveView` for the basic flow in `Auth` for example. It's just not appropriate.
+ [ ] Update the `README.md` as needed to match the updates in `Phoenix`.
+ [ ] Match all the features in the current example including the `Tailwind` UI/UX and `auth`
+ [ ] update `auth.md` as needed (shouldn't be too much)
+ [ ] Create a Pull Request with the update.
+ [ ] Review your own PR ***`before`*** assigning it for review.
+ [ ] Assign the PR for review. 🙏
I expect this update to take a couple of hours. (**`T2h`**? 🤷♂️)
The _faster_ we can make this update the faster I (@nelsonic) can learn what I need to re-build `auth` https://github.com/dwyl/auth/issues/207 🤞
Giving this **`priority-1`** simply because anything lower will _never_ get done. 🙃
But also because I think it's important to have a canonical "chat app" tutorial that is up-to-date. 💭
Both for my own edification (ensuring my knowledge is current) and helping the community. 🤞
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.