Basic elixir module
- Hello.hello/0
- module
- function
- Call function from elixir shell
- Add arguments to function
- Add arguments with default value
- Add arguments with keyword list
Simple store API
- Hello.start/0
- Hello.put/3
- Hello.get/2
- Use basic data structure (Map)
- Understand functional programming: no side effect
- Lookup reduce with Map
- Change Map with Keyword
- Understand elixir protocols using Enum instead of Keyword or Map functions
GenServer based store
- Hello.Store.put/2
- Hello.Store.get/1
- OTP application basics: Application, Supervisor, GenServer
- Write crashing code, observer supervisor behaviour
Telnet API on port 2323
- Write a protocol, use pattern matching
- Implement new commands
- Close TCP connection when "BYE"
- Add CREATE command to launch new bucket (spawn GenServer)
Basic API
- Minimalist API with ewebmachine
- Add JSON support (poison deps already included)
- Try PUT: observe 405
- Implements PUT + DELETE
- PUT request without 'content-type': observe 415
Plug API with bucket
- Return 404 if Store.get returns nil
- Add "/hello" returning all key/value pairs from Store