# Future topics

There are still a few topics that should be covered. Here are some of them, together with helpful resources.

* Writing a Single Page Application
  * 📄**Article:** [State transitions](https://www.curry-software.com/en/blog/elm_shared_state/)
    * 📦**Package:** [webbhuset/elm-actor-model](https://package.elm-lang.org/packages/webbhuset/elm-actor-model/4.0.0/) and [Video](https://www.youtube.com/watch?v=YV_qrjN8bRA)
    * 📦**Package:** [Orasund/elm-action](https://package.elm-lang.org/packages/Orasund/elm-action/latest/)
    * 🎥**Video:** [Scaling Elm Apps](https://www.youtube.com/watch?v=DoA4Txr4GUs)
  * 📄**Article:** [Combining HTTP requests with Task in Elm](https://korban.net/posts/elm/2019-02-15-combining-http-requests-with-task-in-elm/)
  * 📄**Article:** [Authenticating in Elm](https://blog.thesett.com/)
    * 📦**Package:** [the-sett/elm-auth](https://package.elm-lang.org/packages/the-sett/elm-auth/latest/)
* Designing Elm package APIs
  * 📄**Article:** [Publishing an Elm Package](https://medium.com/@Max_Goldstein/how-to-publish-an-elm-package-3053b771e545)
  * 📄**Article:** [Extendable Records](https://medium.com/@ckoster22/advanced-types-in-elm-extensible-records-67e9d804030d) and [Thread](https://discourse.elm-lang.org/t/moving-from-similar-to-same/2527/7)
  * 👥**Thread:** [Partial defunctionalization](https://discourse.elm-lang.org/t/a-useful-technique-partial-defunctionalization/5333)
* Making impossible states Impossible
* Reusable Views
  * 📄**Article:** [Dropdown menus](https://medium.com/elm-shorts/a-reusable-dropdown-in-elm-part-1-d7ac2d106f13)
  * 👥**Thread:** [Selectbox](https://www.reddit.com/r/elm/comments/azqtk4/select_box_in_elm/)
* 📄**Article:** [Working with Forms](https://medium.com/@l.mugnaini/forms-in-elm-validation-tutorial-and-examples-2339830055da) and [Blog](https://korban.net/posts/elm/2018-11-27-build-complex-forms-validation-elm/)
* 📄**Article:** [Web Workers](https://medium.com/@nithstong/elm-with-web-workers-1c2c3d55f939)
* 📄**Article:** [Drag and Drop](https://medium.com/elm-shorts/elm-drag-and-drop-game-630205556d2)
  * 📄**Article:** [drag drop without draggables dropzones](https://blog.noredink.com/post/186724971283/drag-drop-without-draggables-dropzones)
* 👥**Thread:** [Keyboard input](https://www.reddit.com/r/elm/comments/bkxr92/difficulty_with_preventing_default_on_key_down/)
