Coder Social home page Coder Social logo

elixirplayground's Introduction

ElixirPlayground

A sandbox for learning Elixir and its environment

Step 1 - Create an Umbrella Application

  1. mix new elixir_playground_umbrella --umbrella
  • Similar to .NET Solution
  • Used for delineating logic or separating distict services

Step 2 - Create Data Logic Application

  1. mix new elvenhearth --sup
  • A --sup option can be given to generate an OTP application skeleton including a supervision tree. Normally an app is generated without a supervisor and without the app callback.

Step 3 - Create Phoenix Web Application

  1. mix phx.new elvenhearth_phx --no-ecto
  • The --no-ecto tells phoenix not to include the ecto wrapper or any of the files needed to interact with ecto.

Step 4 - Add Ecto and Postgres

  • Add the ecto and postrex dependecies from hex.pm to logic app.
  • Add config blocks in config.exs
  • Add the repo file. ** use Ecto.Repo, otp_app: :elvenhearth
  • Add postgrex and ect0 to elvenhearth mix.exs applications
  • Add child worker for the repo. ** worker(Elvenhearth.Repo, [])
  • run mix ecto ** mix ecto.create
  • Open database (psql -d ), \dt

Step 4 - Create Ecto Models

  • Model

  • Create User model ** use Ecto.schema ** schema "users" do

  • Create user migration

  • mix ecto.gen.migration add_users_table from logic app

  • Run migration

  • Migration table in psql

  • Make some queries

  • Run them in iex. iex -S mix

  • Changesets

  • Seeds

Step 5 - Absinthe Boilerplate

  • Add the dependencies to the web application {:absinthe, "> 1.4"}, {:absinthe_plug, "> 1.4"}, {:absinthe_phoenix, "> 1.4"}, {:absinthe_relay, "> 1.4"},

  • Add supervisor to Web Application supervisor(Absinthe.Subscription, [ElvenhearthPhxWeb.Endpoint])

  • Add reference to user_socket use Absinthe.Phoenix.Socket, schema: ElvenhearthPhxWeb.Schema

  • Add route in the router.ex scope "/" do pipe_through :api

     forward("/graphiql", Absinthe.Plug.GraphiQL,
       schema: ElvenhearthPhxWeb.Schema,
       interface: :playground
     )
    

    end

  • Create a schema.ex file (in web app)

  • List of users user object in schema list of users list_user_method not null fields

Step 6 - Resolvers

  • Create User and Character Resolvers ** Talk about the /3 arity (first field is root object)
  • Abstract the objects and fields

elixirplayground's People

Contributors

jacobparry avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.