-
Notifications
You must be signed in to change notification settings - Fork 23
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 15165d8
Showing
44 changed files
with
5,126 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# App artifacts | ||
/_build | ||
/db | ||
/deps | ||
/*.ez | ||
|
||
# Generated on crash by the VM | ||
erl_crash.dump | ||
|
||
# Generated on crash by NPM | ||
npm-debug.log | ||
|
||
# Static artifacts | ||
/assets/node_modules | ||
|
||
# Since we are building assets from assets/, | ||
# we ignore priv/static. You may want to comment | ||
# this depending on your deployment strategy. | ||
/priv/static/ | ||
|
||
# Files matching config/*.secret.exs pattern contain sensitive | ||
# data and you should not commit them into version control. | ||
# | ||
# Alternatively, you may comment the line below and commit the | ||
# secrets files as long as you replace their contents by environment | ||
# variables. | ||
/config/*.secret.exs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# Mipha | ||
|
||
To start your Phoenix server: | ||
|
||
* Install dependencies with `mix deps.get` | ||
* Create and migrate your database with `mix ecto.create && mix ecto.migrate` | ||
* Install Node.js dependencies with `cd assets && npm install` | ||
* Start Phoenix endpoint with `mix phx.server` | ||
|
||
Now you can visit [`localhost:4000`](http://localhost:4000) from your browser. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
exports.config = { | ||
// See http://brunch.io/#documentation for docs. | ||
files: { | ||
javascripts: { | ||
joinTo: "js/app.js" | ||
|
||
// To use a separate vendor.js bundle, specify two files path | ||
// http://brunch.io/docs/config#-files- | ||
// joinTo: { | ||
// "js/app.js": /^js/, | ||
// "js/vendor.js": /^(?!js)/ | ||
// } | ||
// | ||
// To change the order of concatenation of files, explicitly mention here | ||
// order: { | ||
// before: [ | ||
// "vendor/js/jquery-2.1.1.js", | ||
// "vendor/js/bootstrap.min.js" | ||
// ] | ||
// } | ||
}, | ||
stylesheets: { | ||
joinTo: "css/app.css" | ||
}, | ||
templates: { | ||
joinTo: "js/app.js" | ||
} | ||
}, | ||
|
||
conventions: { | ||
// This option sets where we should place non-css and non-js assets in. | ||
// By default, we set this to "/assets/static". Files in this directory | ||
// will be copied to `paths.public`, which is "priv/static" by default. | ||
assets: /^(static)/ | ||
}, | ||
|
||
// Phoenix paths configuration | ||
paths: { | ||
// Dependencies and current project directories to watch | ||
watched: ["static", "css", "js", "vendor"], | ||
// Where to compile files to | ||
public: "../priv/static" | ||
}, | ||
|
||
// Configure your plugins | ||
plugins: { | ||
babel: { | ||
// Do not use ES6 compiler in vendor code | ||
ignore: [/vendor/] | ||
} | ||
}, | ||
|
||
modules: { | ||
autoRequire: { | ||
"js/app.js": ["js/app"] | ||
} | ||
}, | ||
|
||
npm: { | ||
enabled: true | ||
} | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/* This file is for your main application css. */ |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
// Brunch automatically concatenates all files in your | ||
// watched paths. Those paths can be configured at | ||
// config.paths.watched in "brunch-config.js". | ||
// | ||
// However, those files will only be executed if | ||
// explicitly imported. The only exception are files | ||
// in vendor, which are never wrapped in imports and | ||
// therefore are always executed. | ||
|
||
// Import dependencies | ||
// | ||
// If you no longer want to use a dependency, remember | ||
// to also remove its path from "config.paths.watched". | ||
import "phoenix_html" | ||
|
||
// Import local files | ||
// | ||
// Local files can be imported directly using relative | ||
// paths "./socket" or full ones "web/static/js/socket". | ||
|
||
// import socket from "./socket" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
// NOTE: The contents of this file will only be executed if | ||
// you uncomment its entry in "assets/js/app.js". | ||
|
||
// To use Phoenix channels, the first step is to import Socket | ||
// and connect at the socket path in "lib/web/endpoint.ex": | ||
import {Socket} from "phoenix" | ||
|
||
let socket = new Socket("/socket", {params: {token: window.userToken}}) | ||
|
||
// When you connect, you'll often need to authenticate the client. | ||
// For example, imagine you have an authentication plug, `MyAuth`, | ||
// which authenticates the session and assigns a `:current_user`. | ||
// If the current user exists you can assign the user's token in | ||
// the connection for use in the layout. | ||
// | ||
// In your "lib/web/router.ex": | ||
// | ||
// pipeline :browser do | ||
// ... | ||
// plug MyAuth | ||
// plug :put_user_token | ||
// end | ||
// | ||
// defp put_user_token(conn, _) do | ||
// if current_user = conn.assigns[:current_user] do | ||
// token = Phoenix.Token.sign(conn, "user socket", current_user.id) | ||
// assign(conn, :user_token, token) | ||
// else | ||
// conn | ||
// end | ||
// end | ||
// | ||
// Now you need to pass this token to JavaScript. You can do so | ||
// inside a script tag in "lib/web/templates/layout/app.html.eex": | ||
// | ||
// <script>window.userToken = "<%= assigns[:user_token] %>";</script> | ||
// | ||
// You will need to verify the user token in the "connect/2" function | ||
// in "lib/web/channels/user_socket.ex": | ||
// | ||
// def connect(%{"token" => token}, socket) do | ||
// # max_age: 1209600 is equivalent to two weeks in seconds | ||
// case Phoenix.Token.verify(socket, "user socket", token, max_age: 1209600) do | ||
// {:ok, user_id} -> | ||
// {:ok, assign(socket, :user, user_id)} | ||
// {:error, reason} -> | ||
// :error | ||
// end | ||
// end | ||
// | ||
// Finally, pass the token on connect as below. Or remove it | ||
// from connect if you don't care about authentication. | ||
|
||
socket.connect() | ||
|
||
// Now that you are connected, you can join channels with a topic: | ||
let channel = socket.channel("topic:subtopic", {}) | ||
channel.join() | ||
.receive("ok", resp => { console.log("Joined successfully", resp) }) | ||
.receive("error", resp => { console.log("Unable to join", resp) }) | ||
|
||
export default socket |
Oops, something went wrong.