Node: A
Sign in

< back

About
– Andi, 2021-12-12

About Altex

Altex is a bunch of mix projects, collaborating to support a clean architecture and a well crafted system. Yes, think about an Umbrella project but just without the umbrella, thus the several projects are completely independent from each other.

At e-Matrix Innovations, we use Altex as a base/scaffold implementation for all our Phoenix-applications and -services.

Parts Of Altex

Entity

A wrapper around any kind of data. Can be used in a repository (axrepo). Entity also keeps track of errors and validation (a bit like Ecto’s Changeset).

WebClient

You just read from the WebClient. The web client uses NibleParser to show a little “blog” at /. At the root path we render the index of all posts and /posts/:id renders a single post (WebClient.Post).

Where the posts are being read from the directory priv/posts/YEAR/DD-MM-TITLE.md at compile time! The directory structure gets parsed everytime the module WebClient.Post is compiled.

Installation

First clone the repository

git clone https://github.com/iboard/ax_webclient

which uses axrepo and axentity.

def deps do
  [
    #{:axentity, "~> 0.1"}
    {:axrepo, "~> 0.1"}
  ]
end

NOTE: it is not necessary to add :axentity when you already use :axrepo.

Now cd into your newly created directory and run

mix deps.get
mix test

Start a local server

If everything works fine, you can start your local web-server with

mix phx.server

or, in order you have a REPL into your application, you may use:

iex -S mix phx.server

Once the server is running you can access it at http://localhost:4000

Current status

The primary scaffold for CI at GitHub is implemented.

mix project CI documentation
axentity CIB axentity DB axentity
axrepo CIB axrepo DB axrepo
ax_webclient CIB ax_webclient DB ax_webclient

MORE TO COME, stay tuned!

For now, please see the tests to get a glue what this app is doing.