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