summaryrefslogtreecommitdiff
path: root/mix.exs
diff options
context:
space:
mode:
authorDawid Rycerz <dawid@rycerz.xyz>2025-03-23 17:11:39 +0100
committerDawid Rycerz <dawid@rycerz.xyz>2025-04-05 21:16:51 +0200
commit0ab2e5ba2b0631b28b5b1405559237b3913c878f (patch)
tree791cea788b0a62bc483d0041fbd0c655d2ad49e8 /mix.exs
feat: initialize Phoenix application for weather alerts
This commit sets up the initial Silmataivas project structure, including: Phoenix web framework configuration, database models for users and locations, weather polling service, notification system, Docker and deployment configurations, CI/CD pipeline setup
Diffstat (limited to 'mix.exs')
-rw-r--r--mix.exs77
1 files changed, 77 insertions, 0 deletions
diff --git a/mix.exs b/mix.exs
new file mode 100644
index 0000000..fd061c5
--- /dev/null
+++ b/mix.exs
@@ -0,0 +1,77 @@
+defmodule Silmataivas.MixProject do
+ use Mix.Project
+
+ def project do
+ [
+ app: :silmataivas,
+ version: "0.1.0",
+ elixir: "~> 1.14",
+ elixirc_paths: elixirc_paths(Mix.env()),
+ start_permanent: Mix.env() == :prod,
+ aliases: aliases(),
+ deps: deps()
+ ]
+ end
+
+ # Configuration for the OTP application.
+ #
+ # Type `mix help compile.app` for more information.
+ def application do
+ [
+ mod: {Silmataivas.Application, []},
+ extra_applications: [:logger, :runtime_tools]
+ ]
+ end
+
+ # Specifies which paths to compile per environment.
+ defp elixirc_paths(:test), do: ["lib", "test/support"]
+ defp elixirc_paths(_), do: ["lib"]
+
+ # Specifies your project dependencies.
+ #
+ # Type `mix help deps` for examples and options.
+ defp deps do
+ [
+ {:phoenix, "~> 1.7.20"},
+ {:phoenix_ecto, "~> 4.5"},
+ {:ecto_sql, "~> 3.10"},
+ # Database adapters
+ # SQLite support
+ {:ecto_sqlite3, "~> 0.19.0"},
+ # PostgreSQL support
+ {:postgrex, ">= 0.0.0"},
+ # Other dependencies
+ {:phoenix_live_dashboard, "~> 0.8.3"},
+ {:swoosh, "~> 1.18.3"},
+ {:finch, "~> 0.13"},
+ {:telemetry_metrics, "~> 1.0"},
+ {:telemetry_poller, "~> 1.0"},
+ {:gettext, "~> 0.26"},
+ {:jason, "~> 1.2"},
+ {:dns_cluster, "~> 0.2"},
+ {:bandit, "~> 1.5"},
+ {:hackney, "~> 1.9"},
+ # HTTP client
+ {:req, "~> 0.5.10"},
+ # Scheduler
+ {:quantum, "~> 3.5"},
+ # SMTP adapter for Swoosh
+ {:gen_smtp, "~> 1.2"}
+ ]
+ end
+
+ # Aliases are shortcuts or tasks specific to the current project.
+ # For example, to install project dependencies and perform other setup tasks, run:
+ #
+ # $ mix setup
+ #
+ # See the documentation for `Mix` for more info on aliases.
+ defp aliases do
+ [
+ setup: ["deps.get", "ecto.setup"],
+ "ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"],
+ "ecto.reset": ["ecto.drop", "ecto.setup"],
+ test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"]
+ ]
+ end
+end