- Create a simple project from scratch, like a calculator. Chmod calculator
- Make tests and documentation for the project.
- Solve some katas on exircism.io. See exircism profile
- Write an echo module, which recieves :ping atom as a message and returns {:pong, node()} tuple.
- Write unit tests.
The project is the implementation of tram finite state machine on pure Elixir language according the following diagram:
flowchart TD
In_depot ---> |move| Moving
Moving ---> |stop| In_depot
Moving ---> |stop| Onboarding
Onboarding ---> |move| Moving
Moving ---> |block| Blocked
Blocked ---> |block| Moving
Moving ---> |stop| On_red_light_stop
On_red_light_stop ---> |move| Moving
Moving ---> |bang| On_accident
On_accident ---> |doors| Rescue_passengers
Rescue_passengers --->|doors| On_accident
On_accident ---> |move| Moving
Moving ---> |repair| On_service
On_service ---> |move| In_depot
Create new Phoenix project.
Add Ecto many-to-many relation to Phoenix project.
Implement Lister protocol for converting any input to list.
Create new project Phoenix, Bumblebee, Nx and use LLM from Hugging Face for web chatbot. https://github.com/dmitry-sidorov/translatex
Add specs to tram FSM project. Make shure credo and dialyzer checks passed.
Wrap application to Docker container for release.