Popularity
9.0
Declining
Activity
8.7
Declining
342
16
84

Programming language: Elixir
Latest version: v1.15.0

tilex alternatives and similar packages

Based on the "Examples and funny stuff" category

Do you think we are missing an alternative of tilex or a related project?

Add another 'Examples and funny stuff' Package

README

Tilex - Today I Learned in Elixir

CircleCI Coverage Status

Today I Learned is an open-source project by the team at Hashrocket that catalogues the sharing & accumulation of knowledge as it happens day-to-day. Posts have a 200-word limit, and posting is open to any Rocketeer as well as select friends of the team. We hope you enjoy learning along with us.

This site was open-sourced in as a window into our development process, as well as to allow people to experiment with the site on their own and contribute to the project.

We originally implemented Tilex as hr-til, a Ruby on Rails app.

Installation

If you are creating your own version of the site, fork the repository and clone your fork:

$ git clone https://github.com/<your_github>/tilex
$ cd tilex

Then, install Erlang, Elixir, Node, and PostgreSQL. asdf can do this in a single command:

$ asdf install

From here, we recommend using make:

$ make
$ make setup server

To do everything by hand, source your environment variables, install dependencies, and start the server:

$ cp .env{.example,}
$ source .env
$ mix deps.get
$ mix ecto.setup
$ npm install --prefix assets
$ mix phx.server

Want to start with an empty database? Skip the seeds by running mix ecto.create && mix ecto.migrate in place of mix ecto.setup.

Now you can visit http://localhost:4000 from your browser.

To serve the application at a different port, include the PORT environment variable when starting the server:

$ PORT=4444 mix phx.server

Authentication

Authentication is managed by Ueberauth and Google. See the ueberauth_google README and Google Oauth 2 docs for instructions. To allow users from a domain and/or comma-separated whitelist, set those configurations in your environment:

# .env

export GOOGLE_CLIENT_ID="your-key.apps.googleusercontent.com"
export GOOGLE_CLIENT_SECRET="yoursecret"
export HOSTED_DOMAIN="your-domain.com"
export GUEST_AUTHOR_WHITELIST="joedeveloper@otherdomain.com, suziedeveloper@freelancer.com"

Once set, visit http://localhost:4000/admin and log in with an email address from your permitted domain.

Tilex creates a new user on the first authentication, and then finds that same user on subsequent authentications.

Testing

Wallaby relies on ChromeDriver; install it via your method of choice. Then, run tests with:

$ make test

or:

$ mix test

Deployment

Hashrocket's Tilex is deployed to Heroku. These are Hashrocket's deployed instances:

This project contains Mix tasks to deploy our instances; use as follows:

$ mix deploy <environment>

Contributing

Please see [CONTRIBUTING](CONTRIBUTING.md) for more information. Thank you to all of our contributors.

Code of Conduct

This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct. Please see [CODE OF CONDUCT](CODE_OF_CONDUCT.md) for more information.

Usage

We love seeing forks of Today I Learned in production! Please consult [USAGE](USAGE.md) for guidelines on appropriate styling and attribution.

License

Tilex is released under the MIT License.opensource.org/licenses/MIT). Please see [LICENSE](LICENSE.md) for more information.


About

Hashrocket logo

Tilex is supported by the team at Hashrocket, a multidisciplinary design and development consultancy If you'd like to work with us or join our team, don't hesitate to get in touch.


*Note that all licence references and agreements mentioned in the tilex README section above are relevant to that project's source code only.