An example AT Protocol application, written in Elixir using atex and Drinkup.

docs: add README

ovyerus.com 2abdef15 c28ab4e7

verified
+50 -15
+20
LICENSE
··· 1 + MIT License 2 + 3 + Copyright (c) 2025 comet.sh 4 + 5 + Permission is hereby granted, free of charge, to any person obtaining a copy of 6 + this software and associated documentation files (the "Software"), to deal in 7 + the Software without restriction, including without limitation the rights to 8 + use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 + the Software, and to permit persons to whom the Software is furnished to do so, 10 + subject to the following conditions: 11 + 12 + The above copyright notice and this permission notice shall be included in all 13 + copies or substantial portions of the Software. 14 + 15 + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 + FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 + COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+29 -14
README.md
··· 1 - # Statusphere 1 + # Statusphere Elixir 2 2 3 - To start your Phoenix server: 3 + An example AT Protocol application based on the 4 + [original Statusphere example app](https://github.com/bluesky-social/statusphere-example-app) 5 + and [quick-start guide](https://atproto.com/guides/applications), written in 6 + Elixir using the [Phoenix Framework](https://www.phoenixframework.org/), 7 + [atex](https://github.com/cometsh/atex), and 8 + [Drinkup](https://github.com/cometsh/drinkup). 4 9 5 - - Run `mix setup` to install and setup dependencies 6 - - Start Phoenix endpoint with `mix phx.server` or inside IEx with 7 - `iex -S mix phx.server` 10 + > [!NOTE] 11 + > This is currently intended just for development and learning purposes. You'll 12 + > have to put in some manual work if you want a production deployment for 13 + > whatever reason. 14 + 15 + ## Getting Started 16 + 17 + ## Overvie 18 + 19 + For the best experience, install [Nix](https://nixos.org) and enter our flake 20 + dev shell with `nix develop`. 21 + 22 + If you're not using Nix, the requirements are: 8 23 9 - Now you can visit [`localhost:4000`](http://localhost:4000) from your browser. 24 + - Latest Elixir (1.18+ at time of writing, OTP 27) 25 + - Node.js 10 26 11 - Ready to run in production? Please 12 - [check our deployment guides](https://hexdocs.pm/phoenix/deployment.html). 27 + 1. Fetch dependencies with `mix deps.get`. 28 + 2. If you're not using the Nix shell, get Tailwind with `mix tailwind.install`. 29 + 3. Setup with `mix setup`. 30 + 4. Run the application with `mix phx.server` or `iex -S mix phx.server`. 31 + 5. Open http://127.0.0.1:4000 in your browser. 13 32 14 - ## Learn more 33 + ## License 15 34 16 - - Official website: https://www.phoenixframework.org/ 17 - - Guides: https://hexdocs.pm/phoenix/overview.html 18 - - Docs: https://hexdocs.pm/phoenix 19 - - Forum: https://elixirforum.com/c/phoenix-forum 20 - - Source: https://github.com/phoenixframework/phoenix 35 + [MIT License](./LICENSE)
+1 -1
flake.nix
··· 16 16 devShells = defaultForSystems (pkgs: 17 17 with pkgs; 18 18 mkShell { 19 - nativeBuildInputs = [elixir erlang nodejs pnpm tailwindcss_4 watchman] ++ (lib.optional stdenv.isLinux [inotify-tools]); 19 + nativeBuildInputs = [elixir erlang nodejs tailwindcss_4 watchman] ++ (lib.optional stdenv.isLinux [inotify-tools]); 20 20 21 21 shellHook = '' 22 22 export TAILWINDCSS_PATH="${lib.getExe tailwindcss_4}"