📚 Blog aggregator
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
assets
bin
config
hooks
lib
priv
rel
test
.credo.exs
.env.example
.formatter.exs
.gitignore
.tool-versions
Dockerfile
LICENSE
README.md
mix.exs
mix.lock

README.md

PlanetEx

CircleCI

PlanetEx is an Elixir application for aggregating employee and SharePoint blogs.

Getting started

Prerequisites

You'll need to install the following dependencies first:

Installing

If you have asdf installed, simply run asdf install in the root directory.

Run the bootstrap script to install the remaining dependencies and create your development database:

$ cd planet
$ bin/setup

To run the server: mix phx.server.

Running the tests, formatter, and linter

$ mix verify

==> mix format --check-formatted
==> mix credo
==> mix test.all

Releasing and Deployment

PlanetEx uses Distillery and Docker to build Erlang releases targeted for Ubuntu.

Prerequisites

  • Docker
  • Server provisioned with the following
    • Postgres 10
      • Can be hosted on the same machine as the release or seperately.
    • xvfb
    • Google Chrome
    • ChromeDriver

Release

  • bin/docker-build - builds your Docker container.
    • You only need to do this once.
  • bin/release - builds your Distillery release.
    • Build artifacts are located in /rel/artifacts

Deployment

Environment Variables

Required
  • PORT
  • DOMAIN
  • POOL_SIZE
  • SECRET_KEY_BASE
    • Can be generated using mix phx.gen.secret
  • DATABASE_URL
Optional
  • SHAREPOINT_CREDS
    • In order to aggregate blogs from protected SharePoint sites, you must supply credentials in the form of username:password

Deliver to remote host

  • scp rel/artifacts/<your release> user@host:/path/to/release - Move release tar ball to the server.
  • tar -xvf /path/to/release - unpack the release.

Start the server

  • /path/to/release/bin/yourapp start - start the server in the background as a daemon
    • To stop the server - /path/to/release/bin/yourapp stop or
  • /path/to/release/bin/yourapp foreground - start the server in the foreground (analogous to mix phx.server)

Database migrations

PlanetEx comes with a migration release task.

On the remote server, run /path/to/release/bin/yourapp migrate []

Built With

Contributors


Powered by SEP logo

PlanetEx is supported by SEP: a Software Product Design + Development company. If you'd like to join our team, don't hesitate to get in touch!