├── .formatter.exs ├── .gitignore ├── LICENSE ├── README.md ├── assets ├── brunch-config.js ├── css │ └── app.css ├── js │ ├── app.js │ └── socket.js ├── package.json ├── static │ ├── favicon.ico │ ├── images │ │ ├── clippy.svg │ │ └── phoenix.png │ └── robots.txt └── yarn.lock ├── config ├── config.exs ├── dev.exs ├── prod.exs └── test.exs ├── elixir_buildpack.config ├── lib ├── base62.ex ├── short_url.ex ├── short_url │ ├── application.ex │ ├── link.ex │ └── repo.ex ├── short_url_web.ex └── short_url_web │ ├── api │ └── link_controller.ex │ ├── channels │ └── user_socket.ex │ ├── controllers │ └── link_controller.ex │ ├── endpoint.ex │ ├── gettext.ex │ ├── router.ex │ ├── templates │ ├── layout │ │ └── app.html.eex │ └── link │ │ ├── 404.html.eex │ │ └── index.html.eex │ └── views │ ├── error_helpers.ex │ ├── error_view.ex │ ├── layout_view.ex │ └── link_view.ex ├── mix.exs ├── mix.lock ├── priv ├── gettext │ ├── en │ │ └── LC_MESSAGES │ │ │ └── errors.po │ └── errors.pot └── repo │ ├── migrations │ └── 20171113070658_create_link.exs │ └── seeds.exs ├── rel ├── config.exs ├── plugins │ └── .gitignore └── vm.args └── test ├── short_url_web ├── controllers │ └── link_controller_test.exs └── views │ ├── error_view_test.exs │ ├── layout_view_test.exs │ └── link_view_test.exs ├── support ├── channel_case.ex ├── conn_case.ex └── data_case.ex └── test_helper.exs /.formatter.exs: -------------------------------------------------------------------------------- 1 | [ 2 | inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] 3 | ] 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/README.md -------------------------------------------------------------------------------- /assets/brunch-config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/assets/brunch-config.js -------------------------------------------------------------------------------- /assets/css/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/assets/css/app.css -------------------------------------------------------------------------------- /assets/js/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/assets/js/app.js -------------------------------------------------------------------------------- /assets/js/socket.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/assets/js/socket.js -------------------------------------------------------------------------------- /assets/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/assets/package.json -------------------------------------------------------------------------------- /assets/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/assets/static/favicon.ico -------------------------------------------------------------------------------- /assets/static/images/clippy.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/assets/static/images/clippy.svg -------------------------------------------------------------------------------- /assets/static/images/phoenix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/assets/static/images/phoenix.png -------------------------------------------------------------------------------- /assets/static/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/assets/static/robots.txt -------------------------------------------------------------------------------- /assets/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/assets/yarn.lock -------------------------------------------------------------------------------- /config/config.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/config/config.exs -------------------------------------------------------------------------------- /config/dev.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/config/dev.exs -------------------------------------------------------------------------------- /config/prod.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/config/prod.exs -------------------------------------------------------------------------------- /config/test.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/config/test.exs -------------------------------------------------------------------------------- /elixir_buildpack.config: -------------------------------------------------------------------------------- 1 | elixir_version=1.8.2 2 | -------------------------------------------------------------------------------- /lib/base62.ex: -------------------------------------------------------------------------------- 1 | defmodule Base62 do 2 | use CustomBase, 'Rz0x5ACnUDG1YHeIfwJKOp2LNgP8QlSyTt3VWcaFd9hrZijk7mo6bBqEsMu4vX' 3 | end 4 | -------------------------------------------------------------------------------- /lib/short_url.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/lib/short_url.ex -------------------------------------------------------------------------------- /lib/short_url/application.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/lib/short_url/application.ex -------------------------------------------------------------------------------- /lib/short_url/link.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/lib/short_url/link.ex -------------------------------------------------------------------------------- /lib/short_url/repo.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/lib/short_url/repo.ex -------------------------------------------------------------------------------- /lib/short_url_web.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/lib/short_url_web.ex -------------------------------------------------------------------------------- /lib/short_url_web/api/link_controller.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/lib/short_url_web/api/link_controller.ex -------------------------------------------------------------------------------- /lib/short_url_web/channels/user_socket.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/lib/short_url_web/channels/user_socket.ex -------------------------------------------------------------------------------- /lib/short_url_web/controllers/link_controller.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/lib/short_url_web/controllers/link_controller.ex -------------------------------------------------------------------------------- /lib/short_url_web/endpoint.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/lib/short_url_web/endpoint.ex -------------------------------------------------------------------------------- /lib/short_url_web/gettext.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/lib/short_url_web/gettext.ex -------------------------------------------------------------------------------- /lib/short_url_web/router.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/lib/short_url_web/router.ex -------------------------------------------------------------------------------- /lib/short_url_web/templates/layout/app.html.eex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/lib/short_url_web/templates/layout/app.html.eex -------------------------------------------------------------------------------- /lib/short_url_web/templates/link/404.html.eex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/lib/short_url_web/templates/link/404.html.eex -------------------------------------------------------------------------------- /lib/short_url_web/templates/link/index.html.eex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/lib/short_url_web/templates/link/index.html.eex -------------------------------------------------------------------------------- /lib/short_url_web/views/error_helpers.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/lib/short_url_web/views/error_helpers.ex -------------------------------------------------------------------------------- /lib/short_url_web/views/error_view.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/lib/short_url_web/views/error_view.ex -------------------------------------------------------------------------------- /lib/short_url_web/views/layout_view.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/lib/short_url_web/views/layout_view.ex -------------------------------------------------------------------------------- /lib/short_url_web/views/link_view.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/lib/short_url_web/views/link_view.ex -------------------------------------------------------------------------------- /mix.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/mix.exs -------------------------------------------------------------------------------- /mix.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/mix.lock -------------------------------------------------------------------------------- /priv/gettext/en/LC_MESSAGES/errors.po: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/priv/gettext/en/LC_MESSAGES/errors.po -------------------------------------------------------------------------------- /priv/gettext/errors.pot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/priv/gettext/errors.pot -------------------------------------------------------------------------------- /priv/repo/migrations/20171113070658_create_link.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/priv/repo/migrations/20171113070658_create_link.exs -------------------------------------------------------------------------------- /priv/repo/seeds.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/priv/repo/seeds.exs -------------------------------------------------------------------------------- /rel/config.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/rel/config.exs -------------------------------------------------------------------------------- /rel/plugins/.gitignore: -------------------------------------------------------------------------------- 1 | *.* 2 | !*.exs 3 | !.gitignore -------------------------------------------------------------------------------- /rel/vm.args: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/rel/vm.args -------------------------------------------------------------------------------- /test/short_url_web/controllers/link_controller_test.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/test/short_url_web/controllers/link_controller_test.exs -------------------------------------------------------------------------------- /test/short_url_web/views/error_view_test.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/test/short_url_web/views/error_view_test.exs -------------------------------------------------------------------------------- /test/short_url_web/views/layout_view_test.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/test/short_url_web/views/layout_view_test.exs -------------------------------------------------------------------------------- /test/short_url_web/views/link_view_test.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/test/short_url_web/views/link_view_test.exs -------------------------------------------------------------------------------- /test/support/channel_case.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/test/support/channel_case.ex -------------------------------------------------------------------------------- /test/support/conn_case.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/test/support/conn_case.ex -------------------------------------------------------------------------------- /test/support/data_case.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imfycc/short_url/HEAD/test/support/data_case.ex -------------------------------------------------------------------------------- /test/test_helper.exs: -------------------------------------------------------------------------------- 1 | ExUnit.start() 2 | 3 | Ecto.Adapters.SQL.Sandbox.mode(ShortUrl.Repo, :manual) 4 | --------------------------------------------------------------------------------