From a6a08e8d8e48fb17db32be84be90fd3fa64db856 Mon Sep 17 00:00:00 2001 From: Victor Savkov Date: Wed, 29 Nov 2023 14:41:56 -0500 Subject: [PATCH] initial commit --- .formatter.exs | 5 +++ .gitignore | 23 +++++++++++++ README.md | 4 +++ apps/aspike_server/.formatter.exs | 4 +++ apps/aspike_server/.gitignore | 26 +++++++++++++++ apps/aspike_server/README.md | 21 ++++++++++++ apps/aspike_server/lib/aspike_server.ex | 18 ++++++++++ apps/aspike_server/mix.exs | 33 +++++++++++++++++++ .../aspike_server/test/aspike_server_test.exs | 8 +++++ apps/aspike_server/test/test_helper.exs | 1 + apps/aspike_storage/.formatter.exs | 4 +++ apps/aspike_storage/.gitignore | 26 +++++++++++++++ apps/aspike_storage/README.md | 21 ++++++++++++ apps/aspike_storage/lib/aspike_storage.ex | 18 ++++++++++ apps/aspike_storage/mix.exs | 33 +++++++++++++++++++ .../test/aspike_storage_test.exs | 8 +++++ apps/aspike_storage/test/test_helper.exs | 1 + config/config.exs | 18 ++++++++++ mix.exs | 21 ++++++++++++ 19 files changed, 293 insertions(+) create mode 100644 .formatter.exs create mode 100644 .gitignore create mode 100644 README.md create mode 100644 apps/aspike_server/.formatter.exs create mode 100644 apps/aspike_server/.gitignore create mode 100644 apps/aspike_server/README.md create mode 100644 apps/aspike_server/lib/aspike_server.ex create mode 100644 apps/aspike_server/mix.exs create mode 100644 apps/aspike_server/test/aspike_server_test.exs create mode 100644 apps/aspike_server/test/test_helper.exs create mode 100644 apps/aspike_storage/.formatter.exs create mode 100644 apps/aspike_storage/.gitignore create mode 100644 apps/aspike_storage/README.md create mode 100644 apps/aspike_storage/lib/aspike_storage.ex create mode 100644 apps/aspike_storage/mix.exs create mode 100644 apps/aspike_storage/test/aspike_storage_test.exs create mode 100644 apps/aspike_storage/test/test_helper.exs create mode 100644 config/config.exs create mode 100644 mix.exs diff --git a/.formatter.exs b/.formatter.exs new file mode 100644 index 0000000..90a0853 --- /dev/null +++ b/.formatter.exs @@ -0,0 +1,5 @@ +# Used by "mix format" +[ + inputs: ["mix.exs", "config/*.exs"], + subdirectories: ["apps/*"] +] diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2de045d --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +# The directory Mix will write compiled artifacts to. +/_build/ + +# If you run "mix test --cover", coverage assets end up here. +/cover/ + +# The directory Mix downloads your dependencies sources to. +/deps/ + +# Where third-party dependencies like ExDoc output generated docs. +/doc/ + +# Ignore .fetch files in case you like to edit your project deps locally. +/.fetch + +# If the VM crashes, it generates a dump, let's ignore it too. +erl_crash.dump + +# Also ignore archive artifacts (built via "mix archive.build"). +*.ez + +# Temporary files, for example, from tests. +/tmp/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..aad3a16 --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +# AspikeServerUmbrella + +**TODO: Add description** + diff --git a/apps/aspike_server/.formatter.exs b/apps/aspike_server/.formatter.exs new file mode 100644 index 0000000..d2cda26 --- /dev/null +++ b/apps/aspike_server/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/aspike_server/.gitignore b/apps/aspike_server/.gitignore new file mode 100644 index 0000000..d02dcd3 --- /dev/null +++ b/apps/aspike_server/.gitignore @@ -0,0 +1,26 @@ +# The directory Mix will write compiled artifacts to. +/_build/ + +# If you run "mix test --cover", coverage assets end up here. +/cover/ + +# The directory Mix downloads your dependencies sources to. +/deps/ + +# Where third-party dependencies like ExDoc output generated docs. +/doc/ + +# Ignore .fetch files in case you like to edit your project deps locally. +/.fetch + +# If the VM crashes, it generates a dump, let's ignore it too. +erl_crash.dump + +# Also ignore archive artifacts (built via "mix archive.build"). +*.ez + +# Ignore package tarball (built via "mix hex.build"). +aspike_server-*.tar + +# Temporary files, for example, from tests. +/tmp/ diff --git a/apps/aspike_server/README.md b/apps/aspike_server/README.md new file mode 100644 index 0000000..f712aa8 --- /dev/null +++ b/apps/aspike_server/README.md @@ -0,0 +1,21 @@ +# AspikeServer + +**TODO: Add description** + +## Installation + +If [available in Hex](https://hex.pm/docs/publish), the package can be installed +by adding `aspike_server` to your list of dependencies in `mix.exs`: + +```elixir +def deps do + [ + {:aspike_server, "~> 0.1.0"} + ] +end +``` + +Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc) +and published on [HexDocs](https://hexdocs.pm). Once published, the docs can +be found at . + diff --git a/apps/aspike_server/lib/aspike_server.ex b/apps/aspike_server/lib/aspike_server.ex new file mode 100644 index 0000000..8ed3f89 --- /dev/null +++ b/apps/aspike_server/lib/aspike_server.ex @@ -0,0 +1,18 @@ +defmodule AspikeServer do + @moduledoc """ + Documentation for `AspikeServer`. + """ + + @doc """ + Hello world. + + ## Examples + + iex> AspikeServer.hello() + :world + + """ + def hello do + :world + end +end diff --git a/apps/aspike_server/mix.exs b/apps/aspike_server/mix.exs new file mode 100644 index 0000000..2a2cf37 --- /dev/null +++ b/apps/aspike_server/mix.exs @@ -0,0 +1,33 @@ +defmodule AspikeServer.MixProject do + use Mix.Project + + def project do + [ + app: :aspike_server, + version: "0.1.0", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.15", + start_permanent: Mix.env() == :prod, + deps: deps() + ] + end + + # Run "mix help compile.app" to learn about applications. + def application do + [ + extra_applications: [:logger] + ] + end + + # Run "mix help deps" to learn about dependencies. + defp deps do + [ + # {:dep_from_hexpm, "~> 0.3.0"}, + # {:dep_from_git, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"}, + # {:sibling_app_in_umbrella, in_umbrella: true} + ] + end +end diff --git a/apps/aspike_server/test/aspike_server_test.exs b/apps/aspike_server/test/aspike_server_test.exs new file mode 100644 index 0000000..9657bff --- /dev/null +++ b/apps/aspike_server/test/aspike_server_test.exs @@ -0,0 +1,8 @@ +defmodule AspikeServerTest do + use ExUnit.Case + doctest AspikeServer + + test "greets the world" do + assert AspikeServer.hello() == :world + end +end diff --git a/apps/aspike_server/test/test_helper.exs b/apps/aspike_server/test/test_helper.exs new file mode 100644 index 0000000..869559e --- /dev/null +++ b/apps/aspike_server/test/test_helper.exs @@ -0,0 +1 @@ +ExUnit.start() diff --git a/apps/aspike_storage/.formatter.exs b/apps/aspike_storage/.formatter.exs new file mode 100644 index 0000000..d2cda26 --- /dev/null +++ b/apps/aspike_storage/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/aspike_storage/.gitignore b/apps/aspike_storage/.gitignore new file mode 100644 index 0000000..38df2f2 --- /dev/null +++ b/apps/aspike_storage/.gitignore @@ -0,0 +1,26 @@ +# The directory Mix will write compiled artifacts to. +/_build/ + +# If you run "mix test --cover", coverage assets end up here. +/cover/ + +# The directory Mix downloads your dependencies sources to. +/deps/ + +# Where third-party dependencies like ExDoc output generated docs. +/doc/ + +# Ignore .fetch files in case you like to edit your project deps locally. +/.fetch + +# If the VM crashes, it generates a dump, let's ignore it too. +erl_crash.dump + +# Also ignore archive artifacts (built via "mix archive.build"). +*.ez + +# Ignore package tarball (built via "mix hex.build"). +aspike_storage-*.tar + +# Temporary files, for example, from tests. +/tmp/ diff --git a/apps/aspike_storage/README.md b/apps/aspike_storage/README.md new file mode 100644 index 0000000..73b705e --- /dev/null +++ b/apps/aspike_storage/README.md @@ -0,0 +1,21 @@ +# AspikeStorage + +**TODO: Add description** + +## Installation + +If [available in Hex](https://hex.pm/docs/publish), the package can be installed +by adding `aspike_storage` to your list of dependencies in `mix.exs`: + +```elixir +def deps do + [ + {:aspike_storage, "~> 0.1.0"} + ] +end +``` + +Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc) +and published on [HexDocs](https://hexdocs.pm). Once published, the docs can +be found at . + diff --git a/apps/aspike_storage/lib/aspike_storage.ex b/apps/aspike_storage/lib/aspike_storage.ex new file mode 100644 index 0000000..3937f3a --- /dev/null +++ b/apps/aspike_storage/lib/aspike_storage.ex @@ -0,0 +1,18 @@ +defmodule AspikeStorage do + @moduledoc """ + Documentation for `AspikeStorage`. + """ + + @doc """ + Hello world. + + ## Examples + + iex> AspikeStorage.hello() + :world + + """ + def hello do + :world + end +end diff --git a/apps/aspike_storage/mix.exs b/apps/aspike_storage/mix.exs new file mode 100644 index 0000000..6bc870e --- /dev/null +++ b/apps/aspike_storage/mix.exs @@ -0,0 +1,33 @@ +defmodule AspikeStorage.MixProject do + use Mix.Project + + def project do + [ + app: :aspike_storage, + version: "0.1.0", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.15", + start_permanent: Mix.env() == :prod, + deps: deps() + ] + end + + # Run "mix help compile.app" to learn about applications. + def application do + [ + extra_applications: [:logger] + ] + end + + # Run "mix help deps" to learn about dependencies. + defp deps do + [ + # {:dep_from_hexpm, "~> 0.3.0"}, + # {:dep_from_git, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"}, + # {:sibling_app_in_umbrella, in_umbrella: true} + ] + end +end diff --git a/apps/aspike_storage/test/aspike_storage_test.exs b/apps/aspike_storage/test/aspike_storage_test.exs new file mode 100644 index 0000000..1b600a3 --- /dev/null +++ b/apps/aspike_storage/test/aspike_storage_test.exs @@ -0,0 +1,8 @@ +defmodule AspikeStorageTest do + use ExUnit.Case + doctest AspikeStorage + + test "greets the world" do + assert AspikeStorage.hello() == :world + end +end diff --git a/apps/aspike_storage/test/test_helper.exs b/apps/aspike_storage/test/test_helper.exs new file mode 100644 index 0000000..869559e --- /dev/null +++ b/apps/aspike_storage/test/test_helper.exs @@ -0,0 +1 @@ +ExUnit.start() diff --git a/config/config.exs b/config/config.exs new file mode 100644 index 0000000..ab23e80 --- /dev/null +++ b/config/config.exs @@ -0,0 +1,18 @@ +# This file is responsible for configuring your umbrella +# and **all applications** and their dependencies with the +# help of the Config module. +# +# Note that all applications in your umbrella share the +# same configuration and dependencies, which is why they +# all use the same configuration file. If you want different +# configurations or dependencies per app, it is best to +# move said applications out of the umbrella. +import Config + +# Sample configuration: +# +# config :logger, :console, +# level: :info, +# format: "$date $time [$level] $metadata$message\n", +# metadata: [:user_id] +# diff --git a/mix.exs b/mix.exs new file mode 100644 index 0000000..fd7b189 --- /dev/null +++ b/mix.exs @@ -0,0 +1,21 @@ +defmodule AspikeServerUmbrella.MixProject do + use Mix.Project + + def project do + [ + apps_path: "apps", + version: "0.1.0", + start_permanent: Mix.env() == :prod, + deps: deps() + ] + end + + # Dependencies listed here are available only for this + # project and cannot be accessed from applications inside + # the apps folder. + # + # Run "mix help deps" for examples and options. + defp deps do + [] + end +end