Create base project.

This commit is contained in:
Ian Luites 2017-02-02 14:48:48 +00:00
parent 4ec5a15b50
commit d1fd7f218e
9 changed files with 194 additions and 0 deletions

15
.gitignore vendored
View File

@ -1,5 +1,20 @@
# 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 3rd-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

32
README.md Normal file
View File

@ -0,0 +1,32 @@
# Wobserver
Web based metrics, monitoring, and observer.
## Installation
If [available in Hex](https://hex.pm/docs/publish), the package can be installed
by adding `wobserver` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[{:wobserver, "~> 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 [https://hexdocs.pm/wobserver](https://hexdocs.pm/wobserver).
### Build manually
Run the following commands to build the project:
```
$ npm install
$ gulp build
$ mix deps.get
```
## License
Wobserver source code is released under MIT License.
Check LICENSE file for more information.

30
config/config.exs Normal file
View File

@ -0,0 +1,30 @@
# This file is responsible for configuring your application
# and its dependencies with the aid of the Mix.Config module.
use Mix.Config
# This configuration is loaded before any dependency and is restricted
# to this project. If another project depends on this project, this
# file won't be loaded nor affect the parent project. For this reason,
# if you want to provide default values for your application for
# 3rd-party users, it should be done in your "mix.exs" file.
# You can configure for your application as:
#
# config :wobserver, key: :value
#
# And access this configuration in your application as:
#
# Application.get_env(:wobserver, :key)
#
# Or configure a 3rd-party app:
#
# config :logger, level: :info
#
# It is also possible to import configuration files, relative to this
# directory. For example, you can emulate configuration per environment
# by uncommenting the line below and defining dev.exs, test.exs and such.
# Configuration from the imported file will override the ones defined
# here (which is why it is important to import them last).
#
# import_config "#{Mix.env}.exs"

5
lib/wobserver.ex Normal file
View File

@ -0,0 +1,5 @@
defmodule Wobserver do
@moduledoc """
Documentation for Wobserver.
"""
end

View File

@ -0,0 +1,20 @@
defmodule Wobserver.Application do
@moduledoc false
use Application
def start(_type, _args) do
import Supervisor.Spec, warn: false
# Define workers and child supervisors to be supervised
children = [
# Starts a worker by calling: Wobserver.Worker.start_link(arg1, arg2, arg3)
# worker(Wobserver.Worker, [arg1, arg2, arg3]),
]
# See http://elixir-lang.org/docs/stable/elixir/Supervisor.html
# for other strategies and supported options
opts = [strategy: :one_for_one, name: Wobserver.Supervisor]
Supervisor.start_link(children, opts)
end
end

72
mix.exs Normal file
View File

@ -0,0 +1,72 @@
defmodule Wobserver.Mixfile do
use Mix.Project
def project do
[
app: :wobserver,
version: "0.0.1",
elixir: "~> 1.4",
description: "Web based metrics, monitoring, and observer.",
package: package(),
build_embedded: Mix.env == :prod,
start_permanent: Mix.env == :prod,
deps: deps(),
# Testing
test_coverage: [tool: ExCoveralls],
preferred_cli_env: ["coveralls": :test, "coveralls.detail": :test, "coveralls.post": :test, "coveralls.html": :test],
# Docs
name: "Wobserver",
source_url: "https://github.com/shinyscorpion/wobserver",
homepage_url: "https://github.com/shinyscorpion/wobserver",
docs: [
main: "readme",
extras: ["README.md"],
],
]
end
def package do
[
name: :wobserver,
maintainers: ["Ian Luites"],
licenses: ["MIT"],
files: [
"lib", "mix.exs", "README*", "LICENSE*", # Elixir
],
links: %{
"GitHub" => "https://github.com/shinyscorpion/wobserver",
},
]
end
# Configuration for the OTP application
#
# Type "mix help compile.app" for more information
def application do
# Specify extra applications you'll use from Erlang/Elixir
[
extra_applications: [
:logger,
],
mod: {Wobserver.Application, []},]
end
# Dependencies can be Hex packages:
#
# {:my_dep, "~> 0.3.0"}
#
# Or git/path repositories:
#
# {:my_dep, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"}
#
# Type "mix help deps" for more examples and options
defp deps do
[
{:credo, "~> 0.5", only: [:dev, :test]},
{:dialyxir, "~> 0.4", only: [:dev], runtime: false},
{:ex_doc, "~> 0.14", only: :dev},
{:excoveralls, "~> 0.5", only: :test},
{:ex_doc, "~> 0.14", only: :dev},
]
end
end

14
mix.lock Normal file
View File

@ -0,0 +1,14 @@
%{"bunt": {:hex, :bunt, "0.2.0", "951c6e801e8b1d2cbe58ebbd3e616a869061ddadcc4863d0a2182541acae9a38", [:mix], []},
"certifi": {:hex, :certifi, "0.7.0", "861a57f3808f7eb0c2d1802afeaae0fa5de813b0df0979153cbafcd853ababaf", [:rebar3], []},
"credo": {:hex, :credo, "0.6.1", "a941e2591bd2bd2055dc92b810c174650b40b8290459c89a835af9d59ac4a5f8", [:mix], [{:bunt, "~> 0.2.0", [hex: :bunt, optional: false]}]},
"dialyxir": {:hex, :dialyxir, "0.4.3", "a4daeebd0107de10d3bbae2ccb6b8905e69544db1ed5fe9148ad27cd4cb2c0cd", [:mix], []},
"earmark": {:hex, :earmark, "1.1.0", "8c2bf85d725050a92042bc1edf362621004d43ca6241c756f39612084e95487f", [:mix], []},
"ex_doc": {:hex, :ex_doc, "0.14.5", "c0433c8117e948404d93ca69411dd575ec6be39b47802e81ca8d91017a0cf83c", [:mix], [{:earmark, "~> 1.0", [hex: :earmark, optional: false]}]},
"excoveralls": {:hex, :excoveralls, "0.6.1", "9e946b6db84dba592f47632157ecd135a46384b98a430fd16007dc910c70348b", [:mix], [{:exjsx, "~> 3.0", [hex: :exjsx, optional: false]}, {:hackney, ">= 0.12.0", [hex: :hackney, optional: false]}]},
"exjsx": {:hex, :exjsx, "3.2.1", "1bc5bf1e4fd249104178f0885030bcd75a4526f4d2a1e976f4b428d347614f0f", [:mix], [{:jsx, "~> 2.8.0", [hex: :jsx, optional: false]}]},
"hackney": {:hex, :hackney, "1.6.5", "8c025ee397ac94a184b0743c73b33b96465e85f90a02e210e86df6cbafaa5065", [:rebar3], [{:certifi, "0.7.0", [hex: :certifi, optional: false]}, {:idna, "1.2.0", [hex: :idna, optional: false]}, {:metrics, "1.0.1", [hex: :metrics, optional: false]}, {:mimerl, "1.0.2", [hex: :mimerl, optional: false]}, {:ssl_verify_fun, "1.1.1", [hex: :ssl_verify_fun, optional: false]}]},
"idna": {:hex, :idna, "1.2.0", "ac62ee99da068f43c50dc69acf700e03a62a348360126260e87f2b54eced86b2", [:rebar3], []},
"jsx": {:hex, :jsx, "2.8.1", "1453b4eb3615acb3e2cd0a105d27e6761e2ed2e501ac0b390f5bbec497669846", [:mix, :rebar3], []},
"metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], []},
"mimerl": {:hex, :mimerl, "1.0.2", "993f9b0e084083405ed8252b99460c4f0563e41729ab42d9074fd5e52439be88", [:rebar3], []},
"ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.1", "28a4d65b7f59893bc2c7de786dec1e1555bd742d336043fe644ae956c3497fbe", [:make, :rebar], []}}

1
test/test_helper.exs Normal file
View File

@ -0,0 +1 @@
ExUnit.start()

5
test/wobserver_test.exs Normal file
View File

@ -0,0 +1,5 @@
defmodule WobserverTest do
use ExUnit.Case
doctest Wobserver
end