Level is team communication software optimized for deep work.
Sign up at level.app to reserve your handle and get on the updates list.
Level is currently in the pre-launch phase and under active development by a company of one. Most tasks are being tracked offline as the foundations of the product come together, in the interest of rapid development and reaching an alpha stage for teams to start using it as quickly as possible.
You'll need to install the following dependencies first:
Run the bootstrap script to install the remaining dependencies and create your development database:
cd level script/bootstrap
If your local PostgreSQL install does not have a default
postgres user, open the
config/dev.secret.exs file and update the credentials. Then, run the bootstrap script again.
script/server command to start up your local server and visit
localhost:4000 from your browser.
This repository includes a
.nvmrc file targeting a specific version of Node
that is known to be compatible with all current node dependencies. Things might work
with a newer version of Node, but the most guaranteed route is to install
Node Version Manager and run
nvm install from
the project root.
Then, be sure to run
script/bootstrap to install node dependencies with the
correct version of node.
We have a handful of helper scripts available:
script/elixir-test: runs the Elixir test suite with coveralls
script/elm-test: runs the Elm test suite
script/test: runs the Elixir and Elm test suites
script/static-analysis: runs Credo (Elixir linting), Dialyzer, and Elixir formatter verification
script/build: runs all the test suites and static analysis
The following environment variables must be set in production:Variable Description AWS
AWS_ACCESS_KEY_IDThe AWS access key id for your account (with access to S3).
AWS_SECRET_ACCESS_KEYThe AWS secret access key corresponding to the access key id.
LEVEL_ASSET_STORE_BUCKETThe name of the S3 bucket in which to store uploaded assets. Host
PORTThe port on which to host the application (typically 80).
LEVEL_HOSTThe domain on which you are serving the app (used for generating URLs).
LEVEL_CDN_HOSTThe host for the CDN for serving static assets (like Level's CSS and application JS).
LEVEL_MAILER_HOSTThe domain via which to send transaction emails (usually same as
LEVEL_SECRET_KEY_BASEA secret key for verifying the integrity of signed cookies. Database
LEVEL_DATABASE_URLThe URL for the PostgreSQL database.
LEVEL_POOL_SIZEThe maximum number of database connections each process may consume. Transactional Email
POSTMARK_API_KEYThe API key for Postmark. Web Push Notifications
LEVEL_WEB_PUSH_PUBLIC_KEYA VAPID public key.
LEVEL_WEB_PUSH_PRIVATE_KEYA VAPID private key.
The following variables are for non-essential external services.Variable Description Exception Monitoring
HONEYBADGER_API_KEYThe API key for Honeybadger.io exception monitoring (Elixir).
FATHOM_SITE_IDThe site ID for Fathom Analytics.
FULLSTORY_ORGThe organization ID for FullStory.
HEAP_ANALYTICS_APP_IDThe app ID for Heap Analytics. Email Marketing
DRIP_ACCOUNT_IDThe account ID for Drip. Support
HELPSCOUT_BEACON_IDThe Beacon ID for Help Scout.
script/docs to generate and view the project ExDocs locally.
One of our goals is to make self-installation as painless as possible for those who are interested in hosting their own instance.
The relevant configuration files for Heroku live here:
We are aiming to keep seamless Heroku deployment up-to-date, with a few important "alpha software" notes:
In addition to a Heroku account, you'll need the following services to get your Heroku install up and running:
© 2018 Level Technologies, LLC